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

admin 2021年7月18日21:47:23记一次相对完整的渗透测试已关闭评论138 views字数 1789阅读5分57秒阅读模式

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

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

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

归属为某教育局

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

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

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

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

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

密码找回处

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

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

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

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

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

得出如下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,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

成功登陆

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

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

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

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

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

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

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

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

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

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

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

证实了猜想。

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

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

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

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

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

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

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

例如

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

发现成功跳过目录

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

记一次相对完整的渗透测试
继续访问发现还是直接打印了,不慢慢fuzz跳目录了,我直接跳到他根目录下面。

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

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

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

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

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

记一次相对完整的渗透测试
这两层目录所以用 ../../来跳过这两层目录。

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

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

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

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

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

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

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

相关推荐: 堆的off-by-one利用

off-by-one介绍 off-by-one在缓冲区溢出中有时出现,CTF比赛中常出现在堆中,有时栈也会有off-by-one的漏洞,关于栈的off-by-one漏洞可以看一下https://www.anquanke.com/post/id/183873,作…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年7月18日21:47:23
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次相对完整的渗透测试https://cn-sec.com/archives/427377.html