1.AJP13漏洞。
介绍:
多人发送多个请求,tomcat复用一个TCP链接。
通常情况下,这个链接会随着你什么事都不做而断开--发送FIN。
然后你可以通过ip:端口/manager访问8009端口,用密码登录。-(我试过了,密码纯数字的不能登录)
等到GUI后台就像这样:
2.如何利用?
登到后台要上传war包。war包和jar包是什么?
war包是动态web资源。包含.class文件和其他资源。jar包是*.class文件的集合。
javaweb打war包放到tomcat中自动部署项目。
这个例子中tomcat帮我们管理war包。
jsp漏洞。
jsp是java脚本语言和html的混合。
------------------------jsp简明语法-----------------------
每次点击jsp时,都会在tomcat内部进行编译。
如果不访问那个jsp那么就不会编译。
jsp的规则比如,hello.jsp会变成hello_jsp.java是tomcat自己制定的。
生成jsp规则--'.'->'_';'内部类'->'$'
<%!%> 里面写的内容会原封不动地转移到该类中!!!
<% %> 里面写的内容会原封不动地转移_jspService方法中。该类没有main方法,只有回调方法。
jsp既然是java代码--编译之前是标记语言+脚本语言,编译后是class文件。可为什么jsp中写的内容可以发送给client呢?
tomcat在service方法中进行了翻译。一运行就生成了动态的http响应报文。
发现一个有趣的现象,在jsp中嵌入javaswing的代码,如果退出,则会让服务器关闭。
<%@ page
contentType="text/html;charset=UTF-8" //响应 //注意编码问题,很有可能导致_jsp.java编译
//失败。而且UTF-8不能小写。
language="java" //目前jsp只可以编译java
pageEncoding="UTF-8" //编译到tomcat里面的jsp文件的编码
import="person.Student,person.Teacher" //导入非JDK的包
errorPage="b.jsp" //我们做测试的时候,可以让tomcat通过自定义规则返回
//错误信息提示页。可是别人可以通过它来sql注入啊。这样的话我们就可以制定errorpage。
//这个命令并没有再发一次请求,相反而是和include一样只是讲errorpage拿过来。
isErrorPage="true" //此参数作用不大。用来标明这是错误页面。
%>
jsp编码问题:统一:jsp文件本身&include指令pageEncoding属性&include指令contentType属性都是UTF-8。
-----------------------------------------------
只需写一个jsp页面,中间放入<% System.exit(0); %>,然后访问对应jsp页面就可以关停服务器。