1.打开靶场,出现了用户登录界面
2.第一反应就是用户名尝试admin,密码随便试试,结果发现这次的用户名不行了。
3.这回我有点懵了,我想着难道要用抓包吗,但是仔细想想这道题提示的是sql注入,于是我简单的尝试了以下1'和1",但是只有输入1'时页面才会显示如下提示。
4.它大概意思就是说我们输入的语法有错误,想到数据库在查询密码的时候会用到下面这个语句。
select * from (table_name) where username='***' and password='***'
5.所以要想成功绕过,只能让两个语句都成立,这时候我们就会想到用1' or 1=1 #这个万能密码绕过(1' or 1=1 #(这个原理就0v1为真,1v1为真,所以就会导致用户名和密码都为真)嘿嘿就可以成功绕过。)
6.在用户名和密码中都输入1' or 1=1 #,就可以得到flag
7.flag{27a04354-da94-4820-96c3-391c7a42ffd2}