一、前言
- 这几天一直在研究搭建CTFd,最终还是没成功(成功了一次汉化失败),各种报错,真的崩溃了,时间也不算浪费了吧,也学到了一点东西。
- 因为对 Linux 操作系统不是很熟悉,特别是都是命令行。
- 再研究研究下次继续。
二、看题
- 很明显的sql注入题了,习惯F12也没发现什么问题。
- 还是先尝试闭合方式, 输入1、1’、1" 判断,当输入 1’ 报错,结果语句应该为单引号闭合。
- 都报错了,尝试注入 ,然后,了解一下万能用户名 / 密码。
三、研究
-
select * from table_name where username='xxxx' and password='xxxxxx' ;
-
一般,验证登录注册查询数据库可能会用以上句型。如果用户密码匹配正确则返回真值,通过验证成功登录。
-
如果让它不匹配数据库也能返回真值那么就能绕过验证登录。
-
那么就是下面的万能用户名 。
-
如果我们传入的
username
为 1’ or 1=1 #,随意输入password
,那么传入后端验证时,sql语句就是select * from table_name