SQLi LABS Less-21

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 21关使用POST请求提交参数,对用户名和密码中的特殊字符进行了转译,难度较大

第21关使用POST请求提交参数,对用户名和密码中的特殊字符进行了转译,难度较大

image.png

21关的突破口在cookie,用户登录成功后,将用户名进行base64加密后,保存在cookie中


image.png


点击提交按钮的时候,会从cookie中获取保存的用户名,使用base64解密后,查询数据库,来验证用户是否处于登录状态,我们可以修改cookie的值,从而进行SQL注入



image.png



先输入正确的用户名和密码,登录成功后刷新页面,并使用代理软件(Burp Suite)拦截请求,可以看到Cookie中保存了base64加密后的用户名

image.png

我们将用户名进行解密(先使用url解码,再使用base64解码),可获得编码前的用户名

image.png

我们将构造好的payload使用base64加密后再提交

1') and updatexml(1,0x7e,1) -- a

加密后

MScpIGFuZCB1cGRhdGV4bWwoMSwweDdlLDEpIC0tIGE=

image.png

报错成功,接下来修改payload脱库即可

image.png

相关文章
|
6月前
|
安全 数据库 数据安全/隐私保护
sqli-labs第一关
sqli-labs第一关
|
SQL 数据库
SQLi LABS Less-26a
第26a关使用GET请求传递参数,在url地址栏中构造payload即可 源码中过滤了参数中的or,and,/*,--,#,空格,斜线,我们想办法绕过即可
322 0
SQLi LABS Less-26a
SQLi LABS Less-23
第23关使用GET请求传递参数,在url地址栏构造payload即可 此关卡对注释符号进行了过滤,因此不能使用注释符,可以使用单引号闭合,使SQL的语法结构成立
150 0
SQLi LABS Less-23
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-22
2关使用POST请求提交参数,对账号和密码中的特殊字符执行了转译的操作,难度较大
110 0
SQLi LABS Less-22
|
SQL 数据库
SQLi LABS Less-27a
第27关使用GET请求提交参数,在url地址栏中构造payload即可 后端源码中过滤了/*,--,#,空格,select,union,需要考虑一下怎么绕过这些规则
180 0
SQLi LABS Less-27a
SQLi LABS Less-29
第29关使用GET请求提交参数,在url中构造payload即可 源码中并没有做什么过滤,直接测试注入点即可
211 0
SQLi LABS Less-29
SQLi LABS Less-26
第26关使用GET请求提交参数,我们可以直接在url地址栏中构造payload 源码中过滤了or,and,/*,#,--,空格,斜线,需要想办法绕过
263 0
SQLi LABS Less-26
SQLi LABS Less-31
第31关的源码中并未对参数做过多的过滤,只是在参数两边拼接了双引号和括号
152 0
SQLi LABS Less-31
SQLi LABS Less-30
第30关使用GET请求传递参数,在url中构造payload即可 后端源码中并没有做什么过滤,只是在参数两边添加了双引号
141 0
SQLi LABS Less-30
|
数据库 数据安全/隐私保护
SQLi LABS Less-19
第19关使用POST请求提交参数,后端对用户名和密码进行了特殊字符转译,难度较大源码如下
178 0
SQLi LABS Less-19