XSS高手们的那些XSS,大家都是可以拿出来做些什么的,这样的东西才能算得上漏洞。
9 b. U6 l7 ^5 O' q$ o5 J6 k* ~. p+ {) I, e& ]; ^
9 G t( l3 P( s) Y大家经常看一些高手测试XSS漏洞都是alert一个窗口来。便以为XSS即是如此,当自己alert出窗口来,便说自己发现了漏洞。
5 s# u: [0 j9 v4 L$ _0 w& U3 ~9 t
6 v. h6 X; M6 F9 A其实远没这么简单。你发现的只是程序员的一个小bug而已,远谈不上XSS。它们的关系如同系统漏洞与漏洞利用的关系,不可同日而语。你的系统是否出现过“****内存不能为read”?你是否知道它是溢出漏洞的一种表现呢?但想因此做出exploit远不是那么简单的事情,你能说自己发现了溢出漏洞了么?那么利用xss漏洞能做什么?应该有几点: 5 {( P% n$ U. T* {7 E
; {( g# b+ [, A) Z' ] L
7 p7 m' T8 q" Q5 y4 C/ Q8 T1、针对性挂马 N2 ]% Z4 N2 h8 L- e M# N
% \6 R2 H& H+ t" d# O6 D所以这类网站一定是游戏网站,银行网站或者是关于qq、taobao或者影响力相当大的网站等,它们必须有我们平常需要盗取的帐号密码;当然也或许是这个站点的浏览量相当高,我们能将更多的马挂出去。
) f6 ~$ H4 S0 p, X8 {7 M& F! N1 o" ^. \# w2 \
而如果仅仅是平平常常的一个小站点的XSS漏洞,如果我们要挂马,那么莫不如就直接把木马页面地址贴出去。
1 h( ^2 \6 O7 ~5 d3 ]
# c4 d' L, U5 E, \4 ^) L# E5 r2、用户权限下操作" M6 h5 [& ^, L3 D& b1 g* @8 t9 v
7 h7 Q1 b6 e, o2 p& _# Q
这类网站则必须有会员了,而且这些会员有很多有意义的操作或者有我们需要的内部个人资料,所以我们可以通过XSS对已登录访问者进行有权限操作。我认为cookies的盗取应该算作这一项,因为其目的也是获取用户操作权限(盗密码包括在内),从而获取用户某些信息或者进行权限下的相关操作。
9 I8 C, p9 j8 K& P# I' L2 m. r7 z& [/ q
3、Dos攻击或傀儡机% _8 e& ?6 q. p: n. K, `7 Z
2 _* R6 I; p9 l; h# l: e, x: }这同样需要一个访问量非常大的站点,利用小站点莫不如我们自己攻击或获取信息。我们可以通过此页的访问用户不间断地攻击其他站点,或者进行局域网扫描等等。这类js工具早已经产生,js端口扫描、jikto、xssshell等等。
8 ~; o: o( z x/ [9 m' p) a$ x
3 \- k, G# p8 o8 _$ A+ @" U" l4、提权
0 u9 P- C: `& l5 b7 \& m' V# P5 f6 p( u" T! J# p9 Y
一般这主要发生在论坛或信息管理系统,总之一定要有管理员了。这需要攻击者对目标系统相当熟悉(一般这样的系统需要开源代码),从而知道怎样构造语句进行提权。/ Z2 u Y9 f$ N+ ?2 k; @+ H
# `9 n' k0 b( J& L2 L5 {& g5、实现特殊效果
4 D z! ]: F! c3 ~! @* E# O
1 v0 a9 I. r, U8 a+ i譬如在百度空间的插入视频,插入版块;譬如一些人在新浪博客或者校内网实现的特殊效果等等。' H1 P0 R) y* e& S, n. b J( @
- v# d5 F9 c. X; y8 C结论:
6 x) ]/ x1 Z6 E; g# @! M9 p% b+ Y, M/ `
从而你应该了解到这些网站应该具有的性质:
5 I$ b6 i) `1 [3 x* A. M
2 Z* ]4 t8 v) }8 C! q0 q+ C% [极高的访问量,有会员,有管理员,有具有价值的帐号密码,或者有意义进行特殊效果的实现。
! [& C1 R4 T" x" l2 G
3 W' J) n0 J* Q. `' G如果你读过《Ajax Hacking with XSS》,你应该知道XSS至少包含input XSS和textarea XSS等七种方式。2 @$ x! M( z0 s& P/ J: j% Z6 @. d; J
9 H4 o. A9 e7 o, J# P其中url XSS属于input XSS,这些漏洞大部分属于保留式的XSS,而textarea XSS等一般属于不保留XSS。- l, i; {0 D% I1 w( n- ?
$ V! J# ?6 q# L4 A9 k$ E4 c) s这意味着正常访问一个页面是不会触发保留式的XSS的,尽管这是大部分网站具有的漏洞,其中搜索部分又称搜索式XSS漏洞。
! N8 m) n. ~9 T. T
3 d( t: P3 o0 w0 {5 B2 m2 `+ K. a所以当你获取了一个input XSS,你仅仅alert出一个小框框。你跟别人大吹大擂,你发现了一个漏洞,并且你可以alert一个框框给他看,但是事实上你什么都做不了。即使你能挂些小木马,那也是很没意义的事情——因为你莫不如直接在自己的虚拟主机里做XSS页面发给别人。
, e1 F8 J% |1 }* t6 I8 E$ f3 l8 p5 ]; \$ q9 q D
这个跟sql注入不同,XSS毕竟是客户端的东西。sql注入的目的往往是为了得到目标系统的权限,并且sql语句本身执行的就是服务端的指令;但XSS一般却是为了获得客户端的东西,执行的也是客户端的指令。
1 C$ m' o$ M9 S' b* D |