标题: xss漏洞原理 [打印本页] 作者: admin 时间: 2012-9-13 17:07 标题: xss漏洞原理 一、什么是XSS攻击2 u6 J' t# X; G8 s* N7 Y H
: f5 {8 ]& e" b" Q! f
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。而本文主要讲的是利用XSS得到目标服务器的shell。技术虽然是老技术,但是其思路希望对大家有帮助。 6 q- M1 E; H. s6 `' \ # _+ {8 M' _, d: J9 L- N/ Z 如何寻找XSS漏洞 t; D& k5 V% q2 @6 i1 [ A) C4 ?1 d2 R, m# q 就个人而言,我把XSS攻击分成两类,一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的跨站漏洞。另一类则是来来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。# E! Q( i# V# X( ?+ P# v7 P5 g
6 p4 c8 I/ h! ^8 t
然后利用下面的技术得到一个shell.: O" u4 W; e9 X$ Q3 L
2 j" ] r8 {3 |/ X7 F" q9 Z+ g( P. A
如何利用 & _" R. m, D: f, i3 w5 ^ 7 u; x1 p; z, [# n! M( U! [/ P# m 传统的跨站利用方式一般都是攻击者先构造一个跨站网页,然后在另一空间里放一个收集cookie的页面,接着结合其它技术让用户打开跨站页面以盗取用户的cookie,以便进一步的攻击。个人认为这种方式太过于落后,对于弊端大家可能都知道,因为即便你收集到了cookie你也未必能进一步渗透进去,多数的cookie里面的密码都是经过加密的,如果想要cookie欺骗的话,同样也要受到其它的条件的限约。而本文提出的另一种思路,则从一定程度上解决上述的问题。对于个人而言,比较成熟的方法是通过跨站构造一个表单,表单的内容则为利用程序的备份功能或者加管理员等功能得到一个高权限。下面我将详细的介绍这种技术。2 D# r9 ^( N& t8 q, y+ a: o
6 ]' Q3 ~- ]' e, W# ?) P) `/ | 二、来自内部的跨站攻击 1 r; N, e4 q9 U2 h4 x( b& b& |1 |2 P5 A
寻找跨站漏洞! t$ q! D' f! p$ K, l. [" E
$ C8 O- |1 S5 C. p# Y5 t
如果有代码的话比较好办,我们主要看代码里对用户输入的地方和变量有没有做长度和对”<”,”>”,”;”,”’”等字符是否做过滤。还有要注意的是对于标签的闭合,像测试QQ群跨站漏洞的时候,你在标题处输入<script>alert(‘test’)</script>,代码是不会被执行的,因为在源代码里,有其它的标签未闭合,如少了一个</script>,这个时候,你只要闭合一个</script>,代码就会执行,如:你在标题处输入</script><script>alert(‘test’)</script>,这样就可以弹出一个test的框。. ]% \/ X& x7 J* r0 P5 F A
1 |6 I/ F& e% b6 _) {- `1 {+ k 如何利用" Z+ P U, ?5 f2 X6 x' ]# \, k
4 y+ T. \+ k2 y6 N. D+ X
我先以BBSXP为例,过程已做成动画,详情可见光盘中的动画。我举BBSXP中其中两个比较好用的跨站漏洞点为例.+ E: y* Y& R$ d0 p9 u
& A" U+ k, M/ v9 G! Q' W1 t