记一次相对完整的渗透测试

400 阅读3分钟

教育src 700rank了想着继续冲一波分,早日上核心,于是就有了下面这一次渗透测试的过程了。

开局一个登陆框,且存在密码找回功能。

图片1.png

归属为某教育局

图片2.png

开启burp 抓取登陆包,发现用户密码并未加密 ,尝试爆破admin账户密码 跑了一下发现报如下错误,看来爆破这条路走不通了。

图片3.png

于是fofq查询了一下ip,无旁站。继续肝下一个功能点,密码找回

图片4.png

密码找回处

图片5.png

可以看出这里肯定是会存在数据交互的,于是加个单引号测试一下sql,返回500

图片6.png

两个单引号,返回正常,可以断定这里是肯定存在sql注入了,抓取包丢进sqlmap中跑一下。

图片7.png

得出如下payload

sqlmap resumed the following injection point(s) from stored session:

---

Parameter: #1* ((custom) POST)

Type: boolean-based blind

Title: AND boolean-based blind - WHERE or HAVING clause

Payload: login_name=admin' AND 5698=5698 AND 'yKnB'='yKnB

Vector: AND [INFERENCE]

Type: time-based blind

Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)

Payload: login_name=admin' AND (SELECT 3409 FROM (SELECT(SLEEP(5)))iWYb) AND 'ZAHe'='ZAHe

Vector: AND (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])

报错与延时注入,对于接下来的渗透意义不大,继续fuzz,尝试按照正常逻辑找回密码。

抓取返回包可以很明显的看到其中存在success参数其值为false,我们将其改为true,

图片8.png

页面显示如下,flag参数不为空,这是玩ctf呢,再次重放找回密码请求。

图片9.png

发现,flag的值应该是在这设定哦,but并不知晓flag的值,无从下手手

图片10.png

行吧转换思路,既然admin账户没有设置手机号,那我去跑一下账户,总有设置手机的账户,flag出现了,现在目前不知道有何作用。转手测试有手机号的账户。

图片11.png

随意输入验证码,点击下一步,大概是明白了,这个flag就相当于身份id。

图片12.png

我们继续抓取返回包,改success 参数为true,成功到达重置密码界面

图片13.png

设置了一下新密码,之后使用burp抓包,发现存在两个参数flag 与pwd flag参数之前在跑用户名的时候我们就已经获取到了,所以这里我单独拉出来,复制之前的flag。

图片14.png

Send,返回结果为true表示成功更改

图片15.png

成功登陆

图片16.png

既然成功登陆之后,就开始找上传点了

图片17.png

Java站那就是jsp与jspx了,经过一番fuzz找到一处相册管理

图片18.png

先上传了一张图片,获取到了上传路径。

图片19.png

接着在构造jsp小马尝试上传,目标存在waf jsp无法上传,我是一点都不意外啊。

图片20.png

看了看poc中可疑的参数点,这不就是我们需要的文件路径,以及文件名吗,我们可以尝试在此处更改文件后缀。

图片21.png

证实了猜想。

图片22.png

于是继续构造poc,成功上传,拼接之前得到的url,尝试访问

图片23.png

发现直接打印了,看来是不解析。

图片24.png

可以很明显的看到这里是目录结构,所以尝试删除部分目录,重新上传

图片25.png

例如

图片26.png

发现成功跳过目录

图片27.png

图片28.png继续访问发现还是直接打印了,不慢慢fuzz跳目录了,我直接跳到他根目录下面。

图片29.png

分析一下、这是最开始上传到的目录并不解析,我们可以看到其中有四层目录

图片30.png

删除其中如下两层目录后,还剩下

图片31.png

图片32.png这两层目录所以用 ../../来跳过这两层目录。

结合之前的路径,拼接访问。

图片33.png

图片34.png

未授权,点到为止,打包提交

图片35.png

带带我代码审计可好,好哥哥们。

本文涉及相关实验:SQL注入(本实验以PHP和mysql为环境,简单展示了SQL的发生原理和利用过程,通过显错注入和盲注的对比,更直观展现注入的不同利用方法。)