日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

servlet获取jsp页面的值为null_Jsp挖掘(4)-打造自己的jsp防御代码

發(fā)布時(shí)間:2025/4/5 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 servlet获取jsp页面的值为null_Jsp挖掘(4)-打造自己的jsp防御代码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

打造自己的jsp防御代碼

一、需要準(zhǔn)備JDK環(huán)境

編譯.java文件成.class文件

https://www.oracle.com/technetwork/java/javase/downloads/index.html

需要javac編譯

javac -target 1.4 -source 1.4 -classpath servlet-api.jar urlfilter.java

二、實(shí)際設(shè)置

設(shè)置一個(gè)全局的過濾器,通過web.xml添加filter過濾器

名稱:Url中注入過濾器

功能:可以過濾,導(dǎo)向到錯(cuò)誤頁(yè),防止代碼泄漏

需要的設(shè)置:Web.Xml文件中需要進(jìn)行如下設(shè)置

* <filter> * <filter-name>urlfilter</filter-name> * <filter-class>Safe3conn.urlfilter</filter-class> * </filter> * * <filter-mapping> * <filter-name>urlfilter</filter-name> * <url-pattern>/*</url-pattern> * </filter-mapping>

編譯后的class文件要放在WEB-INFclassesSafe3conn文件夾下,改變Web.xml文件后需要重啟Tomcat服務(wù)器

package Safe3conn; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; import java.lang.String.*; import java.lang.*; public class urlfilter extends HttpServlet implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { HttpServletRequest req = (HttpServletRequest)request; HttpServletResponse res = (HttpServletResponse)response; String url1=(String)((HttpServletRequest)request).getQueryString(); //GET提交過濾(注:可自行添加POST和Cookie過濾) if(url1==null||!sql_inj(url1)) { chain.doFilter(request,response); } else{ res.sendRedirect(req.getContextPath()+"/err.jsp"); //設(shè)置轉(zhuǎn)向的錯(cuò)誤頁(yè)面 } } //過濾函數(shù) public static boolean sql_inj(String str) { String inj_str ="' and exec insert select delete update count * % chr mid master truncate char declare ; or - + ,"; String inj_stra[] = inj_str.split(" "); for (int i=0 ; i < inj_stra.length ; i++ ) { if (str.indexOf(inj_stra[i])>=0) { return true; } } return false; } //過濾結(jié)束 public void init(FilterConfig config) throws ServletException {} public void destroy() {} }

編譯:javac urlfilter.java 出現(xiàn)錯(cuò)誤

主要是缺少:servlet-api.jar

成功編譯:

javac -target 1.4 -source 1.4 -classpath servlet-api.jar urlfilter.java

還需要一個(gè)web.xm文件(一般web頁(yè)面會(huì)有這個(gè),只需要添加filter對(duì)應(yīng)的地方)

<?xml version="1.0" encoding="ISO-8859-1"?> <web-app> <filter> <filter-name>sqlfilter</filter-name> <filter-class>Safe3conn.urlfilter</filter-class> </filter> <filter-mapping> <filter-name>sqlfilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>

最后需要把class文件放到WEB-INFO

就是在class的添加Safe3conn/urlfilter.class

web.xml的相關(guān)的關(guān)聯(lián)urlfilter的這個(gè)類

重新啟動(dòng)

主要是過濾這些字段:

String inj_str ="' and exec insert select delete update count * % chr mid master truncate char declare ; or - + ,";

提交有含有上面過濾的參數(shù)就跳轉(zhuǎn)err.jsp

這個(gè)是sql的防御,XSS的防御相似。

三、總結(jié)

主要是java的編譯,還有fileter的web.xml的添加。

過濾全局的函數(shù)編寫,

?公眾號(hào):

thelostworld:

個(gè)人知乎?:https://www.zhihu.com/people/fu-wei-43-69/columns

?個(gè)人簡(jiǎn)書:https://www.jianshu.com/u/bf0e38a8d400

總結(jié)

以上是生活随笔為你收集整理的servlet获取jsp页面的值为null_Jsp挖掘(4)-打造自己的jsp防御代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。