渗透测试学习 二十一、 JSP相关漏洞
大纲
ST2漏洞 (Struts2)
反序列漏洞 网站容器,中间键
其他漏洞
Struts2漏洞
简介: Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。(百度百科)
(注:.do或.action可能存在该框架)
漏洞挖掘
单个目标站进行测试
工具爬行
找到存在漏洞的地址,例如:xx.action,用相关的工具进行测试
一般存在于登录,注册,留言,提交数据,进行数据交互的地方等
(一般使用的工具是k8_struts2_EXP.exe)
批量查找利用
URL采集相关关键字 site:xx.com inurl:.action
Java反序列化漏洞
简介:序列化就是把对象转换成字节流,便于保存在内存,文件,数据库中;反序列化即逆过程,由字节流还原成对象。Java中的objectoutputstream类的writeobject()方法可以实现序列化,类objectinputstream类的readobject()方法用于法序列化。
工具
Java反序列化终极测试工具 –powered by STG-G哥
其他漏洞
Tomcat部署漏洞
访问Tomcat manager页面
尝试弱口令爆破,工具:伊美式Apache Tomcat http://yimeishi.icoc.cc
登录管理界面
部署war文件
getshell
weblogic攻击
批量扫描weblogic缺省的web管理端口(http为7001,https为7002),开放这些端口的一般都是有安装weblogic的。
Google搜索关键字“weblogic server administrator console inurl:console”URL后面是console结尾的一般为目标。
在找到的目标URL后面加上console,回车后自动跳到管理登录界面
尝试弱口令
用户名,密码:weblogic,weblogic;system,system;portaladmin,portaladmin;guest,guest
登录后找到“mydomain”->“deployments”->“web application modules”->“deploy new web application mondule”
再点“upload your file(s)”,在跳转后的页面上传war包
其他漏洞详解
越权漏洞
逻辑漏洞
其他漏洞
越权漏洞
水平越权
水平越权是指同等权限级别越权
纵向越权
纵向越权是指不同等级权限级别越权
越权漏洞挖掘
漏洞出现点:一般在网商,网点等
数据交互的地方
用户可操作的地方
参数可控制的地方
示例:metinfo 4.0@2008-2018
会员中心
修改资料
抓包
将用户名改为另一个用户的名字->会修改另一个用户的信息
(同样可以修改管理员的密码-纵向越权)
逻辑漏洞挖掘
逻辑漏洞分类
逻辑密码找回->在填写手机号后抓包,改包->发送
逻辑支付漏洞->(支付金额,购买数量)抓报,改包
逻辑登录->修改响应包,抓报-do intercept->response to thisrequest->forward
SSRF(Serve-Side Request Forgery:服务器端请求伪造)
SSRF是一种由攻击者构造形成有服务器端发起请求的安全漏洞,一般情况下,SSRF攻击的目标是从外网无法访问的内部系统(正是因为它由服务端发起的,所以它能够请求到与它相连接与外网隔绝的内部系统)
SSRF形成的原因大部分是由于服务器端提供了从其他服务器应用获取数据的功能,且没有对目标地址进行过滤和限制,比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等
漏洞产生
用户在地址栏输入网址->向目标网站发送请求->目标网站接收请求并在服务器端验证请求是否合法,然后返回用户所需要的页面->用户接收页面并在浏览器中显示
产生漏洞的环节:目标网站接受请求后在服务器端验证请求是否合法
产生的原因:服务器端的验证并没有对齐请求获取图片的参数(image=)做出严格的过滤以及限制,导致可以从其他服务器获取一定量的数据。
例如:
www.xx.com/a,asp?image=http://www.abc.com/1,jpg
如果将http://abc.com/1.jpg换成与该服务器相连的内网服务器地址会产生的效果:
如果存在该内网地址就会返回1xx,2xx之类的状态码,不存在就会是其他的状态码。
简析:SSRF漏洞就是通过篡改获取资源的请求,发送给服务器,但是服务器并没有发现这个请求是不合法的,然后服务器以他的身份来访问其他服务器的资源。
SSRF漏洞的寻找
1.分享,通过URL地址分享网页的内容
2.转码与服务
3.在线翻译
4.图片加载与下载:通过URL地址加载或下载图片
5.图片,文章收藏功能
6.未公开的api实现以及其他调用URL的功能
7.从URL中关键字寻找
share wap url link src source target
u ig display sourceurl imageurl domain
渗透测试学习 二十一、 JSP相关漏洞的更多相关文章
- 渗透测试学习 二十、 其他漏洞汇总之PHP相关漏洞
大纲: PHP相关漏洞 JSP相关漏洞 其他漏洞汇总 PHP相关漏洞 文件包含漏洞 php://input等伪协议利用 代码执行漏洞 变量覆盖漏洞 文件包含漏洞 程序开发人员一般会把重复使用的函数写到 ...
- 渗透测试学习 十七、 XSS跨站脚本漏洞详解
一般用途:拿cookie进后台,将后台地址一起发送过来 特点:挖掘困难,绕过困难 大纲: XSS漏洞基础讲解 XSS漏洞发掘与绕过 XSS漏洞的综合利用 XSS漏洞基础讲解 XSS介绍: 跨站脚 ...
- 渗透测试学习 二十九、kali安装,信息搜集,服务器扫描
kali安装,信息搜集,服务器扫描 kali介绍 Kali Linux是基于Debian的Linux发行版, 设计用于数字取证操作系统.由Offensive Security Ltd维护和资助.最先由 ...
- 渗透测试学习 二十二、getshell总结
大纲 管理员权限拿shell 普通权限拿shell 常见cms拿shell 进后台主要是可以对网站前台的内容,样式等做操作,要改脚本的内容的权限只有在webshell的权限下才可以(某些情况除外) ...
- 渗透测试学习 三十一、MSF
术语 测试者利用系统程序或服务的漏洞进行攻击的一个过程——渗透攻击(exploit),攻击载荷(payload) 攻击者在目标系统上执行的一段代码,该代码具有反弹链接,创建用户.执行其他系统命令的功能 ...
- 渗透测试学习 二、Windows基础
系统目录 服务 端口 注册表 黑客常用DOS命令(在拿到shell时会用到) 一. 系统目录 Windows目录 系统的安装目录 System32àconfigàSAM文件 是用户密码的 ...
- 渗透测试学习 二十八、WAF绕过详解
大纲: WAF防护原理讲解 目录扫描绕过WAF 手工注入绕过WAF sqlmap绕过WAF 编写salmap绕过WAF 过WAF一句话编写讲解 菜刀连接绕过WAF webshell上传绕过WAF 提权 ...
- 渗透测试学习 二十三、常见cms拿shell
常见cms 良精.科讯.动易.aspcms.dz 米拓cms.phpcms2008.帝国cms.phpv9 phpweb.dedecms 良精 方法: 1.数据库备份拿shell 上传图片——点击数据 ...
- Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过
Kali Linux Web 渗透测试视频教程—第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...
随机推荐
- Redis Cluster 集群三主三从高可用环境搭建
前言 Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用. Window环境下载地址:https://github.com/tporadowski/redis ...
- 小程序开发技术总结(wepy)
创建wepy项目 全局安装或更新WePY命令行工具:npm install wepy-cli -g 在开发目录中生成Demo开发项目:wepy new myproject , 1.7.0之后的版本使用 ...
- 一个驱动导致的内存泄漏问题的分析过程(meminfo->pmap->slabtop->alloc_calls)
关键词:sqllite.meminfo.slabinfo.alloc_calls.nand.SUnreclaim等等. 下面记录一个由于驱动导致的内存泄漏问题分析过程. 首先介绍问题背景,在一款嵌入式 ...
- 添加数据库数据后(SVN的更新和启动)、SVN启动
一.添加数据库数据: 1.修改Excel表格,添加字段 2.修改数据库,添加字段 3.修改程序 4.使用Excel生成Tabletotable文件,并修改生成文件的内容. (1)删除cpp文件所有的H ...
- day90_11_12
一.路由与正则. 1.当函数中需要参数,而不在路由中匹配的时候需要使用default方法: @app.route('/index/<testreg("\d+"):nid> ...
- WPF 精修篇 附加属性
原文:WPF 精修篇 附加属性 微软把DLL都开源了 今天看了一下 很多WPF实现内容都在里面 https://referencesource.microsoft.com/ 说附加属性 附加属性 是 ...
- 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 2
18.2 PDO所支持的数据库 使用PHP可以处理各种数据库系统,包括MySQL.PostgreSQL.Oracle.MsSQL等.但访问不同的数据库系统时,其所使用的PHP扩展函数也是不同的.例如 ...
- oracle查找某个字符在字符串中的个数的技巧
Oracle没有提供查找某个字符在字符串中出现次数的函数,当遇到这样的需求的时候,我们只能使用另外的方法去实现. 简单的思路就是,假设有个字符串str,然后里面有n个[a]字符,当把这n个[a]字符去 ...
- php使用inotify扩展监控文件或目录,如果发生改变,就执行指定命令
通过inotify扩展监控文件或目录的变化,如果发生变化,就执行命令. 可以应用于 swoole 中,如果文件发生变化,就执行 kill -USR1 进程PID 来实现热更新. <?php cl ...
- java高并发系列 - 第4天:JMM相关的一些概念
JMM(java内存模型),由于并发程序要比串行程序复杂很多,其中一个重要原因是并发程序中数据访问一致性和安全性将会受到严重挑战.如何保证一个线程可以看到正确的数据呢?这个问题看起来很白痴.对于串行程 ...