前言
所谓JAVA安全其实就是javaweb安全,所以还是web安全问题那些,java中有些web的框架要知道,漏洞原理还是不变。
思维导图
![图片[1]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-12-775x1024.png)
靶场案例
目录遍历覆盖
打开靶场 目录遍历第一关:
![图片[2]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-13-1024x693.png)
在头像上上次个文件 然后点更新 访问对应路径:
发现test上传到该目录下
![图片[3]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-14-1024x449.png)
我们发现我们文件名跟页面全名是一样的
如果修改全名是不是就能控制文件名?
![图片[4]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-15-1024x400.png)
修改为Droton1 再看文件:
![图片[5]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-16-1024x376.png)
跟着变化了 那么如果修改名字为 ../xxx是不是就能实现路径穿透 存在上个文件夹了呢?
![图片[6]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-17-1024x473.png)
点击更新看:
![图片[7]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-18-1024x362.png)
成功了
那么这种漏洞的作用是什么?
突破目录解析的限制,比如服务器设置用户上传那个文件夹 不允许解析php jsp等文件,但是我们能成功上传木马文件,那么就可以尝试看看有没有这种漏洞,把木马上传到别的路径中然后就能成功解析了。
![图片[8]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-19-1024x693.png)
第二个会把../给替换为空,双写绕过即可
payload: ….//xxx
Javaweb 代码分析-前端验证安全问题
![图片[9]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-20-1024x403.png)
随便输入 11/11 抓包 发现一个可疑的请求包 这里面自带账号密码。
![图片[10]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-21-1024x616.png)
尝试用这个登录:
![图片[11]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-22-1024x948.png)
成功,这是为啥? 白盒审计看:
![图片[12]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-23-1024x424.png)
可以看到这是把拿到的数据与 这俩字符串比较
找到前端文件js: 发现一些十六进制
![图片[13]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-24-1024x212.png)
转为字符串得:
![图片[14]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-25-1024x461.png)
到这里就明白了 把账密写到js 一个前端验证,很容易被攻击者发现。
![图片[15]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-26-1024x432.png)
这个啥意思 换句话说就是 一个人资料可能有电话 邮箱 家庭地址 身份证号码
对应 tel email home number 这几个属性,但是个人资料这里只会请求 tel email这两个属性
然后也就只显示这两个属性,其他两个都不请求 也不显示,但是你只要调用这个接口去请求这几个属性就能得到这些信息。
![图片[16]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-27-1024x614.png)
看源码 可以看得到还有 role userId 等属性 这里是白盒代码审计了 ,那么直接请求即可:
![图片[17]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-28-1024x408.png)
Javaweb 代码分析-XSS 跨站安全问题
靶场环境:
![图片[18]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-29-1024x902.png)
白盒审计代码:
发现
![图片[19]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-30-1024x502.png)
信用卡费用直接以html插入,那直接xss打就好了:
![图片[20]-JAVA安全(二)目录遍历访问控制XSS等问题-Drton1博客](https://www.yanyang.ink/wp-content/uploads/2023/01/image-31-1024x983.png)
结束!
请登录后发表评论
注册