主要是我最近,沉迷挖洞(edusrc),然后就顺便的学习到了很多之前没接触过的一些东西,比如各类未授权访问啊,或者是各类信息泄露,最惨的还是当属 Rj45
了,自认为严重的漏洞提交上去,下来后变成了低危哈哈哈
然后这篇就是,记录一下我在挖洞后进行的一个操作的记录吧
其实在实际上挖洞的过程中呢,发现,现在还是会存在很多 top10
的漏洞在,比如存储型xss、sql注入漏洞,还有很多的一些设计上的漏洞导致的任意登录或者任意密码修改
我最近搞的也基本都是SQL注入漏洞,这里先说个前提,千万不要小看信息泄露,觉得这是一个低危就不用在乎了,有的信息泄露是直接泄露了全站的php源码,这种泄露后你就可以直接根据php内容来审计漏洞了,很危险(当然有waf就当我没说)
因为现在大部分网站都有waf的原因,我基本上是先手动测试,然后在sqlmap跑,常用的payload就这个
Elapse'and(select*from(select+sleep(10))a'
在很多地方都能测试,比如登录界面,或者是其他提交参数的地方,反手试一下,要是页面突然停顿了10s,那就血赚,说明存在漏洞了
我测试完成后,开开心心的在 burpsuite
上把http数据包保存下来后,放去sqlmap跑
sqlmap -r sql.txt --dbs
然后发现一个问题
sqlmap无法和对方网站进行ssl连接,所以我就尝试用了一个新方法,来解决这个问题
这个方法就是,利用Php的php_curl函数来对流量进行中转,这样就不需要sqlmap来进行ssl连接了
首先我们在 php.ini
中,开启 php_curl
然后开始编写中转流量用的Php文件
这样一来,你访问 http://127.0.0.1/Elapse.php
的时候,出现的就是对方页面的内容了,因为我通过php去请求了他的页面
(PS:因为没有css的关系吧,页面很丑)
那么这里可能有人就要问了
你这个玩意和直接请求到底有个啥区别
我们注意这两条
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
通过这两条,我忽略了ssl,这样就可以避免sqlmap发生无法建立ssl连接的问题了,接着在这部分,写好我们需要用到的注入的参数
这样我们请求 http://127.0.0.1/Elapse.php?s=elapse
,经过拼接
到那边发送的数据就是 name=elapse
于是逻辑就变成了
sqlmap注入我的网站,然后我的网站把流量发送到对方网站,对方网站做出回应后,回显到我的网站上,接着我的sqlmap在通过回显或时间来判断注入
这样就完美的避免了ssl报错的问题了,因为请求网站不是我sqlmap的工作,而是我apache和php的工作