@@ -58,17 +58,17 @@ https://github.com/cn-panda/JavaCodeAudit
5858
5959导入项目,可以得到以下目录
6060
61- ![ image-20191211175109762 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191211175109762 .png)
61+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/1 .png?raw=true )
6262
6363修改连接数据库的账号密码:
6464
6565` MessageInfoDaoImpl.java 23 行 ` :
6666
67- ![ image-20191211175202986 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191211175202986 .png)
67+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/2 .png?raw=true )
6868
6969` MessageInfoDaoImpl.java 69 行 ` :
7070
71- ![ image-20191211175247716 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191211175247716 .png)
71+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/3 .png?raw=true )
7272
7373
7474
@@ -103,15 +103,15 @@ public void Message(HttpServletRequest req, HttpServletResponse resp) {
103103
104104如下图所示,是上述代码的功能界面:
105105
106- ![ image-20191211201657650 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191211201657650 .png)
106+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/4 .png?raw=true )
107107
108108当我们输入正常字符的时候,返回我们刚才输入的字符:
109109
110- ![ image-20191211201751498 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191211201751498 .png)
110+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/5 .png?raw=true )
111111
112112但是如果我们输入的内容中含有可执行代码,如:` <script>alert('xss')</script> `
113113
114- ![ image-20191211201856050 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191211201856050 .png)
114+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/6 .png?raw=true )
115115
116116浏览器就会执行这段 js代码,所以我们只要控制输入的内容,就可以达到攻击效果。
117117
@@ -236,17 +236,17 @@ try {
236236
237237如下图,我们提交含有可执行代码的数据:
238238
239- ![ image-20191211205121835 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191211205121835 .png)
239+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/7 .png?raw=true )
240240
241241然后在输出页面查看:
242242
243- ![ image-20191211205207586 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191211205207586 .png)
243+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/8 .png?raw=true )
244244
245245成功执行 XSS,且点击确定后,返回原本页面,再次刷新
246246
247- ![ image-20191211205336068 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191211205336068 .png)
247+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/9 .png?raw=true )
248248
249- ![ image-20191211205354207 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191211205354207 .png)
249+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/10 .png?raw=true )
250250
251251依旧会执行插入数据中的 XSS 可执行代码,这也是和反射型 XSS 最大的区别。
252252
@@ -511,7 +511,7 @@ JEESNS是一款基于JAVA企业级平台研发的社交管理系统,在JEESNS
511511
512512导入后软件会自动下载需要的 jar 包:
513513
514- ![ 11 ] (/Users/ panda/GitHub/ JavaCodeAudit/【03】XSS 漏洞原理与实际案例介绍/ img/11.png)
514+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/ img/11.png?raw=true )
515515
516516等待几分钟后即可下载完毕。然后在本地创建数据库:
517517
@@ -531,7 +531,7 @@ source /Users/panda/Downloads/jeesns-master_v1.3/jeesns-web/database/jeesns.sql
531531Cause: org .springframework .jdbc .CannotGetJdbcConnectionException : Could not get JDBC Connection; nested exception is java .sql .SQLException: Connections could not be acquired from the underlying database!
532532```
533533
534- ![ 12 ] (/Users/ panda/GitHub/ JavaCodeAudit/【03】XSS 漏洞原理与实际案例介绍/ img/12.png)
534+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/ img/12.png?raw=true )
535535
536536需要在` jeesns-web/pom.xml ` 文件添加以下内容:
537537
@@ -547,25 +547,25 @@ Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get
547547
548548如下图所示:
549549
550- ![ image-20191212115736981 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191212115736981 .png)
550+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/13 .png?raw=true )
551551
552552修改好保存后,配置 tomcat 服务,点击 run-->edit configurations,配置如下:
553553
554554server 选项默认即可:
555555
556- ![ image-20191212122207859 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191212122207859 .png)
556+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/14 .png?raw=true )
557557
558558Deployment 选项中,导入 war 包,点击+号,选择Artifact...,然后选择第一个 war:
559559
560560![ image-20191212121900022] (/Users/panda/Library/Application Support/typora-user-images/image-20191212121900022.png)
561561
562562点击 OK 后可以修改路径:
563563
564- ![ image-20191212122243095 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191212122243095 .png)
564+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/16 .png?raw=true )
565565
566566点击应用后,即可运行本项目,如下图所示:
567567
568- ![ image-20191212122401816 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191212122401816 .png)
568+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/17 .png?raw=true )
569569
570570
571571
@@ -683,7 +683,7 @@ public boolean save(HttpServletRequest request, Member loginMember, String conte
683683<object data =" data:text/html;base64,PHNjcmlwdD5hbGVydCgiSGVsbG8iKTs8L3NjcmlwdD4=" >
684684```
685685
686- ![ image-20191212132148810 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191212132148810 .png)
686+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/18 .png?raw=true )
687687
688688还比如:
689689
@@ -693,7 +693,7 @@ public boolean save(HttpServletRequest request, Member loginMember, String conte
693693<img src="x" ONERROR=confirm(0)>
694694```
695695
696- ![ image-20191212132523550 ] (/Users/ panda/Library/Application Support/typora-user-images/image-20191212132523550 .png)
696+ ![ 1 ] ( https://github.com/cn- panda/JavaCodeAudit/blob/master/%E3%80%9003%E3%80%91XSS%20%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E9%99%85%E6%A1%88%E4%BE%8B%E4%BB%8B%E7%BB%8D/img/19 .png?raw=true )
697697
698698### 4、修复方案
699699
0 commit comments