《网络安全0-100》实战拿下某色情网站

前言

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

真的太无聊了,

1.收集信息

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

2fdfe6ba139942ca9c61ba4b49462458.png

793923716dca4fa9b25a07abd4500036.png 

1f7d0e51bf1243faa7537cc13afb4117.png 

 2.失败的漏洞利用

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

f173a33f874f40bb821c1f180b814c84.png

 3.找到未授权进入后台

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

918c54fcbf3244fa97ff555fff359908.png

 

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

$(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('');

    }

    }

    })

    })

a4c99169ddad47ad91d04607716e7f6c.png

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

 

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

<script>

       window.location.href="/admin/login"

</script>

 

97c9b687753d4c378ee4b898a50b2693.png

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

 081377f349214ca59bb6a4dbcc5101d5.png

 4.文件上传getshell

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

5e85f42aab4b4d7cb0653f37689e930d.png

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

f9c30b44a4cb40f997af15837ff48627.png

 但是某剑连不上,真奇怪

3345d605bec34ccab7297124c31c80d6.png

  换哥斯拉,成功连接c5427b6253f946c1b0ab593f648a0123.png

5.尝试提权

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

83ec9264b8e341a79bf22694961fa58f.png

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

97e5d0d2e114489ead7dc5c2e4287b99.png

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

35edbfd04c7744828fcd5193e22651f3.png

 6.其他东西

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

e10453b418064554ba469fa1038b47a5.png

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

7.总结

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

 

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
网络安全是当今社会面临的重要问题之一,因此进行网络安全的Java代码审计实战非常必要。Java代码是构建网站和应用程序的重要组成部分,通过对Java代码进行审计可以发现潜在的安全漏洞,规避和修复风险。 Java代码审计实战的主要步骤如下: 1. 收集代码:首先要收集待审计的Java代码,并了解代码背景和功能。这包括收集代码库、配置文件和其他与代码相关的信息。 2. 静态代码分析:通过使用静态代码分析工具,对Java代码进行扫描和分析,以检测可能的漏洞。这些工具可以识别潜在的安全问题,如SQL注入、跨站脚本攻击(XSS)、敏感信息泄露等。 3. 动态代码分析:在这个步骤中,需要模拟实际攻击并对代码进行测试。通过使用Web应用程序安全扫描器等工具,可以模拟攻击并检测代码中可能存在的漏洞。这些工具可以模拟各种攻击场景,如会话劫持、URL跳转等。 4. 自动化工具审计:利用自动化工具扫描代码以查找可能的漏洞。自动化工具可以通过检查代码和配置文件来发现常见的漏洞,如不安全的验证、文件权限问题等。 5. 手动审计:在进行完自动审计后,进行手动审计以发现更复杂的漏洞。这需要审计人员有深入的技术知识和经验,以识别和利用潜在的漏洞。 6. 漏洞报告和修复:在发现潜在的漏洞后,需及时编写漏洞报告,并与开发团队一起制定修复计划。修复可能涉及代码和配置文件的更改,以及安全漏洞的修补。 通过进行网络安全的Java代码审计实战,可以发现和修复潜在的安全漏洞,提高应用程序的安全性。此外,及时的审计和修复可以减少黑客攻击和数据泄露的风险,保护用户和企业的利益。因此,Java代码审计实战非常重要且值得广泛应用。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安全仔的日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值