记一次从逻辑漏洞到内网一日游

2020-02-23 14:04:26 64 5284
之前无意间发现的一个漏洞

今日份主角大概长这样,一通弱口令之后无果,点登陆之后看到有找回密码

本来想先试试admin看他回显如何,然后就

What?啥玩意?我验证问题都还没打呢,就直接重置了?并且右上角已经是"管理员"了?
前台登上,那来找找后台,发现后台也成功登陆

在后台翻了良久找到一处任意文件上传,可算是Getshell了

Shell了之后来提权,cmd正常执行,不过权限较低,aspx先试试Mssql,找到数据库连接串
User ID=SPM;Password=*****"
这里提一下,因为之前拿的这个很多系统spm用户与sa密码相同,然后这次。

可以,我不信提不下你,又是一通操作。

拿下之后利用LCX进行转发进而登录服务器
顺便查看内网存活主机
for /l  %i  in (1,1,255) do @  ping  192.168.0.%i  -w  1  -n  1 |  find  /i  "ttl="

本身自己搞的对内网兴趣不大,想着读读密码批量爆破试试得了,结果管理员上次登录已经是2016年了我丢

后来Mssql批量扫了一下,出来两台拿下一台,好像还是管理工资的

到这之后就没再往下去了。

自评TCV 1

关于作者

the3ight6篇文章79篇回复

评论64次

要评论?请先  登录  或  注册
  • TOP1
    2020-2-24 00:12

    这运气也太好了吧

  • 44楼
    2020-2-25 16:45

    这个运气也太好了吧,不过最感兴趣的就是那个scansql

  • 43楼
    2020-2-25 16:19

    这哪能叫逻辑漏洞,绝了,直接我家大门敞大开

  • 42楼
    2020-2-25 15:18

    这年头还能碰到这奇葩的网站,真实不容易。

  • 41楼
    2020-2-25 11:07

    最后用什么方法提的

  • 40楼
    2020-2-25 10:59

    这也太好运气了吧 只能说牛皮

  • 39楼
    2020-2-24 22:25

    管理员狗不理了,基本这xi统也就费了,其他的漏洞一堆堆

  • 38楼
    2020-2-24 18:32

    谁能源代码漏洞在哪 怎么就直接重置了

  • 37楼
    2020-2-24 17:31
    初学者

    直接重置密码那里 我蒙了

    1

    哈哈 我当时都蒙了,

  • 36楼
    2020-2-24 17:31
    littleheary

    16-032就可以成功了?很溜啊,这个怕是没有杀软吧?

    1

    啥玩意都没,按在地上c那种

  • 35楼
    2020-2-24 17:30
    上善若水

    运气好到爆炸.. 拿shell和提权爽到开挂 然后内网也是6到起飞 我想你肯定是不会本机在公网然后直接本机操的,,, (废话 还是多跳下比较好吧 有点真废话了 哈哈哈)

    1

    可能一顿流程下来看着挺简单,其实当时我找传shell的地方找的头蒙,哈哈

  • 34楼
    2020-2-24 17:29

    直接重置密码那里 我蒙了

  • 33楼
    2020-2-24 17:28
    heihu577

    想看一下源代码的漏洞造成原因,楼主方便把源代码附上吗。

    1

      <div class="location">         您当前的位置:<a href="../Default.aspx">首页</a> &gt; <span>找回密码</span>     </div>     <div class="forget">         <div class="user_location">             找回密码         </div>         <table id="userModify" cellpadding="3" cellspacing="3" border="0">             <tr>                 <td>                     用户名称:                 </td>                 <td>                     <input type="text" id="txtUserName" class="box" onblur="showQue()" />                 </td>             </tr>             <tr>                 <td>                     密码问题:                 </td>                 <td>                     <input type="text" id="txtques" class="box" />                 </td>             </tr>             <tr>                 <td>                     密码答案:                 </td>                 <td>                     <div class="left">                         <input type="text" id="txtans" class="box" onblur="checkQue('txtans')" onfocus="show()" />                     </div>                     <font style="display: block; float: left; margin-left: 10px; color: #333333; font-size: 12px;                         height: 24px; border: 1px #FFFFFF solid" id="divtxtans"><font style="color: red">*</font>密码找回使用的答案,3-22个字符。</font>                 </td>             </tr>             <tr>                 <td>                     &nbsp;                 </td>                 <td>                     <div class="left btnLogin" onclick="btnSetClick()">                         确定                     </div>                 </td>             </tr>             <tr>                 <td colspan="2">                     <span id="tip" class="left"></span>                 </td>             </tr>         </table>     </div>     <script type="text/javascript">         $(window).keydown(function (event) {             if (event.keyCode.toString() == "13") {                 checkQue('txtans');                 $(".btnLogin").click();             }         })         function btnSetClick() {             var username = $.trim($("#txtUserName").val());             //alert(username);             if (username != "") {                 var url = "../../../Content/Request.aspx?action=findPwd";                 $.post(url, {                     username: username,                     userques: $.trim($("#txtques").val()),                     userans: $.trim($("#txtans").val())                 }, function (data) {                     //alert(data);                     var obj = $.parseJSON(data);                     if (obj.err != undefined) {                         alert(obj.err);                         $("#tip").html(obj.err);                     }                     else {                         if (!parent.isloginexitreloadpage) {                             parent.logincallback(data);                         }                         else {                             parent.logincallback(data);                             //parent.location.href = parent.location.href;                         }                         var str = "重置成功!你的新密码是:" + obj.passwordField.toString() + " ,请记牢或自行更改!"                         $("#tip").html(str);                     }                 }             );             }         }         function show() {             $("#divuserans").css("border-color", "#64b8dc");             $("#divuserans").css("color", "#333333");             $("#divuserans").html("密码找回使用的答案,3-22 个字符。");         }         //判断特殊字符         function checkStr(str) {             var reg = /[`~!@#\$%\^\&\*\(\)_\+<>\?:"\{\},\.\\\/;'\[\]]/im;             //var reg = /[~`!@#%&=:;<>\$\^\*\(\)\+\{\}\[\]\|\\ \"\'\?\,\.\/\s]+/gi;             return reg.test(str);         }         //字符串长度(字节)         function getStrLen(str) {             var reg = /[^\x00-\xff]/g;             return str.replace(reg, "xx").length;         }         function checkQue(id) {             var s = $("#" + id).val();             var ids = "div" + id;              if (checkStr(s) == true || getStrLen(s) > 22 || getStrLen(s) < 3) {                 $("#" + ids).css("color", "red");                 $("#" + ids).css("border-color", "#ffffff");                 document.getElementById(ids).innerHTML = "<img src=\"../Content/err.gif\" style=\"margin-top:5px;\">&nbsp;&nbsp;&nbsp;请在3-22 个字符内,不能含有非法字符。";                 return false; ;             }             else {                 $("#" + ids).css("color", "");                 $("#" + ids).css("border-color", "#ffffff");                 document.getElementById(ids).innerHTML = "<img src=\"../Content/right.gif\" style=\"margin-top:5px;\">";                 return true;             }         }         function showQue() {             var username = $.trim($("#txtUserName").val());             if (username != "") {                 var url = "../../../Content/Request.aspx?action=user_ques";                 $.post(url, {                     username: username                 }, function (data) {                     var obj = $.parseJSON(data);                     if (obj.err != "") {                         alert(obj.err);                         return;                     }                     else {                         $("#txtques").val(obj.qus.toString());                         return;                     }                 }             );             }         }       
    我也有点想搞懂咋回事,奈何不懂审计

  • 32楼
    2020-2-24 16:22

    上次我遇到一个更邪门的逻辑漏洞,只需知道id号就可以免登录上后台。。。。前台的验证根本不管用

  • 31楼
    2020-2-24 15:14

    这程序员无敌了,,,,醉了

  • 30楼
    2020-2-24 12:36

    @maliya 楼主那个scansql和mssqltools2. 0可以分享下吗

  • 29楼
    2020-2-24 12:01

    感觉信息收集不到位啊

  • 28楼
    2020-2-24 11:12

    这密码重置功能,大写的服

  • 27楼
    2020-2-24 09:34

    运维工程师:这特么谁写的代码

  • 26楼
    2020-2-24 00:36

    hsacn扫也可以吧。。

  • 25楼
    2020-2-24 00:12

    这运气也太好了吧