- A+
第一关:基于错误的get单引号字符型注入
第二关:基于错误的get整形注入
第三关:基于错误的get单引号变形字符型注入
第四关:基础错误的双引号字符型注入
第五关:
第六关
第七关:导出文件get字符型注入
第八关:布尔型单引号get盲注
盲注需要掌握一些mysql的相关函数
1 2 3 4 5 6 7 8 9 |
length(str): 返回str字符串的长度 if(a,b,c):a为条件,a为true,返回b,否则返回c ,如if(1>2,1,0),返回0 substr(str,pos,len): 讲str从pos位置开始截取len长度的字符进行返回。注意这里pos位置是从1开始的,不是数组的0开始 mid(str,pos,len): 跟上面的一样,截取字符串 acsii(str): 返回字符串str的最左面字符的ASCII代码值 |
第九关:基于时间的get单引号盲注
1 |
1' and if(ascii(substr(database(),1,1))>64,0,sleep(5)) %23 |
第十关:
第十一关:
第十二关:基于错误的双引号post型字符型变形注入
第十三关:post单引号变形双注入
第十四关:
第十五关:
第十六关:
第十七管:基于错误的更新查询post注入
第一个参数: 目标 xml
第二个参数:xpath的表达式 XPath_string(Spath 格式的字符串)
第三个参数:要将xpath的表达式的东西将目标xml替换成什么
1 |
a' or updatexml(1,concat(0x282d5b,database()),5635)# |
第十八关:基于错误的用户代理,头部POST注入
用户名和密码 都加了过滤
1 2 3 |
$uname=check_input($_POST['uname']); $upasswd=check_input($_POST['passwd']); |
pyload:
1 |
'or updatexml(0,concat(0x2b5e,database()),0),",")# |
第十九关:基于头部的Referer POST注入
另一个
报错函数:extractvalue
第一个参数也是xml ,第二个参数就是xpath的表达式,这个函数是获取xml中某个节点的值
pyload:
1 |
' or extractvalue(1,concat(0x2b,version())),'')# |
第二十关:基于cookie的post注入
第二十一关:基于错误的复杂的字符型Cookie注入
Base64加密
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫