数据库的秘密

[注意] 本次DDCTF所有WEB题无需使用也禁止使用扫描器 http://116.85.43.88:8080/JYDJAYLYIPHCJMOQ/...

打开后会发现返回如下。

非法链接,只允许来自 123.232.23.245 的访问

此时可以通过修改HTTP请求头中的X-Forwarded-For即可。即添加以下字段

X-Forwarded-For:123.232.23.245

在这里,我用的是火狐的一个插件Modify Header Value (HTTP Headers)。

数据库的秘密

发现该网页是一个简单的查询列表。再加上题目中给的hint。可以判断为SQL注入题目。
经过测试,发现以上三个点均不是注入点。此时分析数据包,可以发现存在第四个注入点。

数据库的秘密

然后查看源码,发现一个隐藏字段。经过测试发现,该字段可以注入。

admin' && '1'='1'#
admin' && '1'='2'#

尝试注入 author,可以发现以下内容信息

  • and (可以用&&代替)
  • union select (很迷,这两个不能同时出现,然而自己又找不到其他方式)
  • 仅允许#号注释

然后注入渣的自己就比较无奈了。。不会啊。只好祭出盲注大法了。经过尝试,最终构造以下payload可用。

admin' && binary substr((select group_concat(SCHEMA_NAME) from information_schema.SCHEMATA),1,1) <'z' #

然后开始写脚本,此时遇到了一个问题。发现他有一个验证。为了check你中途是否修改数据,而加入的一个hash比对。

首先将你的准备传送的内容进行某种hash后变为sig字段,然后再将sig通过get请求一起发送过去。此时服务器端会将sig与你发送的内容的hash比对一下。此时可以减少抓包中途修改内容的可能性。

所以,为了省事,我选择直接将这个代码调用一下。

用python的execjs库,可以直接执行js代码。

最终跑起脚本,获取到flag DDCTF{IKIDLHNZMKFUDEQE}

数据库的秘密

本文章首发在 网安wangan.com 网站上。

上一篇 下一篇
讨论数量: 0
只看当前版本


暂无话题~