Skip to content

Latest commit

 

History

History
261 lines (146 loc) · 9.38 KB

[HACK学习君]-2022-9-23-实战 | 从前端代码审计挖掘未授权进入后台到文件上传拿下某色情网站.md

File metadata and controls

261 lines (146 loc) · 9.38 KB

实战 | 从前端代码审计挖掘未授权进入后台到文件上传拿下某色情网站

1864309941094924 HACK学习君

HACK学习君

微信号 XHacker1961

功能介绍 HACK学习,专注于网络安全攻防与黑客精神,分享技术干货,代码审计,安全工具开发,实战渗透,漏洞挖掘,网络安全资源分享,为广大网络安全爱好者和从业人员提供一个交流学习分享的平台


__发表于

收录于合集

前言

记录一次色情网站渗透经历,通过挖掘后台未授权登录以及文件上传getshell拿下服务器

0x1

起因就是某群友发了一个截图给我,心想免费的vps又来了

0x2(信息收集)

经过了一些常规的信息收集获得了该目标ip,开放端口,app程序包,用的框架为thinkphp6.0.12,以及后台登录地址,开搞

0x3(失败的漏洞利用)

当时最有用的信息就是Thinkphp6.0.12,本想试试那个反序列化漏洞,但是没有成功(手工也试过了)

0x4 (找到未授权进入后台)

于是转战后台:后台挺简单的一个页面,但是没有找到注入,验证码也是没有问题的,无法爆破,但是从返回数据包中我看到一些比较敏感的信息

这是要给前后端分离的网站,我感觉多半有未授权之类的,立马去看看前端代码,发现惊喜

$(document).keydown(function (event) {  
if (event.keyCode == 13) {  
$("#loginadmin").click();  
}  
});  
  
$("#loginadmin").click(function(){  
//获取input表单的值  
var adname=$("input[name='adname']").val();  
var password=$("input[name='password']").val();  
  
if(adname.length<1) {  
    layer.msg('管理员不能为空!',{offset: '150px' })  
    return false;  
    }  
  
    if(password.length<6){  
    layer.msg('密码不能小于六位数!',{offset: '150px' })  
    return false;  
    }  
  
    $.ajax({  
    type: "POST" ,  
    dateType: 'json' ,  
    url:"/admin/login/index.html",  
    data:$(".login_form").serialize(),  
    success: function(status){ //验证成功,进入后台  
    if(status.code==1){  
    layer.msg(status.msg,{offset: '150px' ,icon: 6},function() {  
    top.location="/admin/index/index.html" ;  
    });  
    }; //密码错误  
    if(status.code==2){  
    layer.msg(status.msg,{offset: '150px' });  
    var captcha_img=document.getElementById('captcha');  
    captcha_img.src="/captcha.html?" +Math.random();  
    $(".check").val('');  
    $(".password").val('');  
    } //管理员不存在  
    if(status.code==3){  
    layer.msg(status.msg,{offset: '150px' });  
    var captcha_img=document.getElementById('captcha');  
    captcha_img.src="/captcha.html?" +Math.random();  
    $(".check").val('');  
    $(".username").val('');  
    $(".password").val('');  
    } //验证码错误  
    if(status.code==4){  
    layer.msg(status.msg,{offset: '150px' });  
    var captcha_img=document.getElementById('captcha');  
    captcha_img.src="/captcha.html?" +Math.random();  
    $(".check").val('');  
    }  
    }  
    })  
    })  

在这一段js代码中,清晰明了的逻辑,以及后端主页的地址,返回值为 1 就会跳转到后台,于是修改返回数据包 (这里可以直接访问后台地址)。

然后成功跳转后台,但是立马又跳转到登录页面,心想有机会,这次将burp全程一个一个包的放,当修改登录返回数据包的 code为 1 之后,会接着请求后台主页,并且后台主页的前端代码会成功返回,但是放过这个返回数据包后,浏览器还是没有渲染出页面,burp重放后接收的数据包也没有渲染出页面,好奇怪,猜测应该是有某个js代码导致的,于是我慢慢看那个后台的前端代码,发现了问题:

<script>  
       window.location.href="/admin/login"  
</script>  

就是因为这串代码,浏览器收到数据包后立马就去请求登录页面了,也就没有渲染页面,不管他,直接删了,成功进入后台页面,此时burp不能关,要不然还是会跳转到登录页面,之后的每一个数据包返回的数据都有那一串跳转到登录页的代码,都要删除。

0x5(文件上传getshell)

点击那个网站配置选项,出现了好东西,上传图片,本着试一试的想法,上马子

先来个一句话,成功,看来后端没有限制

但是某剑连不上,真奇怪

换哥斯拉,成功连接

0x6(尝试提权)

这个后台禁用了命令执行的函数,只有用哥斯拉的BypassDisableFunctions模块执行命令,先弹个sehll来耍耍,打开我的某某蛇,msf开个监听,哥斯拉PMeterpreter模块直接上线,但是不稳定,过一会就断了,后来经过师兄指点,还是用蛇生成木马上线来的稳定点

拿到稳定的shell之后,开始提权,直接用CVE-2021-4034提权

拿到root权限后,就可以做任何事情咯,找到宝塔面板,

0x7 (其他东西)

直接翻数据库,找到管理员密码,可以试试撞其他地方的密码,MD5解密出来是一个弱密码,这要是能爆破,必成功呀

其他就没啥有用的东西了,真可惜,估计东西都在那个app里面

0x8 (总结)

攻击路径:网站路径扫描找到后台地址 -> 数据包+前端代码审计发现后台未授权登录 -> 后台文件上传getshell -> CVE-2021-4034提权拿下主机

推荐阅读

实战 | 记一次渗透拿下某儿童色情网站的经过

实战 | 记一次企业钓鱼演练

2022年,从现在开始学安全还不迟!

干货 | 2022年超全的安全知识库

实战 | 实战一次完整的BC网站渗透测试

原文链接:https://xz.aliyun.com/t/11729

作者:1864309941094924

文章来源:先知社区

如有侵权,请联系删除

星球部分精华内容推荐

其他更多精彩内容,欢迎加入我们的星球

预览时标签不可点

微信扫一扫
关注该公众号

知道了

微信扫一扫
使用小程序


取消 允许


取消 允许

: , 。 视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看