PicoCTF - 2020 Mini-Competition - Web Gauntlet(关卡1)
·
博主开始学习CTF并做记录,本人是一名初级渗透测试工程师,水平初级很一般。
阅读书籍为异步图书的《CTF快速上手 PicoCTF真题解析》Web篇 ,李华峰著书
这是第一本
简单解析一下真题:Web Gauntlet(关卡)
该题说明页面如图

题干意思:你能击败过滤器吗?以admin身份登录。
直接Round 1/5
主页有两个地址,分别打开如下图所示:


第二个网站意思告诉你第一关过滤了字符:or
尝试在第一个网站关卡输入用户名(admin)和密码(123456)
返回:直接报错,要想办法进行sql注入及绕过or的过滤机制

select * from users where username = 'admin' -- and password = '123456';
通过构造输入的内容将题中语句变更为输入用户名(admin' -- )和密码(123456),最终提交成功。Congrats! 来到第二关:

直接Round 2/5
我直接上答案,截图与上面相似。
过滤了or and like = -- :

select * from users where username = 'admin';'and password = '123456'
输入用户名(admin’;)与密码(123456),登陆成功,来到第三关。
直接Round 3/5
过滤了 or and = like >< -- :

还是可以用;
输入用户名(admin’;)与密码(123456),登陆成功,来到第四关。
直接Round 4/5
这一关把admin都过滤了

想到用字符串连接运算符|| 来拼接admin的部分元素
||运算符的语法格式如下:
string1 || string2
并且在sql中。多行注释以/*开始,并以/*结尾。虽然这是一种多行注释,但在CTF比赛中可以只使用/*来屏蔽后面的代码。
输入用户名(adm'||'in'/*)与密码(123456),登陆成功,来到第五关。

直接Round 5/5
第五关答案如同第四关,通关


注:以后会介绍一系列CTF比赛赛题解析,欢迎关注我的专栏
更多推荐

所有评论(0)