一道CTF题学习php的curl扩展模块

前言

作为一个web安全学的很痛苦,还始终学不会的人,决定要好好学web安全了。这次见识了一下DDCTF的题目,难度对于我来说非常高,所以决定写一些学习总结,也不算wp,就是笔记这种吧,这篇文章以学习PHP的CURL模块为主,用这道很基础的SQL注入题来引一下子。

题目描述

一道CTF题学习php的curl扩展模块_第1张图片

一出来什么都没有,只有一个这个提示。

所以说,这个就下意识改一下头吧,添加一个X-Forwarded-For项就可以了对吧。

一道CTF题学习php的curl扩展模块_第2张图片

而且这个只能这样改,不能在Raw标签里面直接打上去,我就吃了这个亏的。

即使改完了没什么不同。

一道CTF题学习php的curl扩展模块_第3张图片

就这样,然后就进入了真实页面。

一道CTF题学习php的curl扩展模块_第4张图片

不用说,这个对于我来说结合题目也就只有SQL注入的可能了。

不过现在问题来了,这个注入需要改请求头,不然无法访问真实页面。

这里我的思路有:第一,写一个SQLMAP的tamper脚本,一把梭。第二,自己写一个注入脚本。

然后我就放弃了2333。

因为两个我都不会写。不过思路还是好的。这里我们就要提到这篇文章的主题,也就是让我涨姿势的php写一个代理脚本,curl模块发送中间请求,sqlmap一把梭,真的觉得他们有的大二的是真的厉害。

然后我们回到这道题,虽然这道题思路有了,但是接下来的步骤一点也不简单。

一道CTF题学习php的curl扩展模块_第5张图片

发现search请求参数没什么,有两个参数,一个sig,一个time,感觉是一个基于时间的签名,应该是防止抓包修改参数吧。

不过这个可以通过自动化脚本解决,现在需要知道怎么弄的sig和time参数。否则无法发送正确的请求。

那么一般就在js里面有玄机了。


这里明显除了index.php还有两个js,math.js就是提供一些数学函数嘛,主要是main.js。

这个main.js之前我也看不懂2333,不过百度一下就发现是加了混淆,那就去混淆吧,百度有网站直接去混淆。

处理后是这样

一道CTF题学习php的curl扩展模块_第6张图片

这个就舒服多了吧

然后就到了非常重点的地方了2333

写php中间脚本

一道CTF题学习php的curl扩展模块_第7张图片

其中key都在f12里面能找到。当然解题不是重点,主要是脚本加入了curl模块之后可以看到非常容易的可以直接发送请求和改头了,如果不会写sqlmap的tamper还有自己写脚本的,完全可以这样。

最后当然是sqlmap -u 'http://127.0.0.1/proxy.php?author=admin'轻松暴库了。


之前就看到同学用curl用的很频繁,完全不知道这种操作,学到了。

你可能感兴趣的:(一道CTF题学习php的curl扩展模块)