渗透测试学习 二十一、 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- ...
随机推荐
- maven配置本地和远程仓库
maven项目中我们不用挨个导入jar包,那这些Jar包从哪里来呢?当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库 ...
- HTML Rendering Error
刚下载的markdown弹窗提示html渲染错误 去官网 http://markdownpad.com/faq.html#livepreview-directx 页面搜索 This view h ...
- Python语法速查: 2. 列表、元组、字典、集合操作
返回目录 (1)通用序列操作 “序列”表示索引为非负整数的有序对象集合,列表.元组.字符串都属于序列.区别在于:列表是可变的,而元组和字符串是不可变的.序列的通用操作他们都可以用. 操作或方法 简述 ...
- [Linux] ubuntu环境安装和使用elasticsearch
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -apt-get install ap ...
- 006.MongoDB副本集
一 MongoDB 复制(副本集) 1.1 复制概述 MongoDB复制是将数据同步在多个服务器的过程. 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的 ...
- java8-01-初识Lambda表达式
为什么用 Lambda表达式 在java8之前 java语言 方法调用 无法将函数作为一个参数 也无法声明返回一个函数 对比 javaScript是典 ...
- class与class的继承
class Point{ constructor(x,y){ this.x = x; this.y = y; } toString(){ return '(' + this.x + ',' + thi ...
- Pytorch创建模型的多种方法
目录 Method 1 Method 2 Method 3 Method 4 Reference 网络结构: conv --> relu --> pool --> FC -- > ...
- Python爬虫教程-使用chardet
Spider-03-使用chardet继续学习python爬虫,我们经常出现解码问题,因为所有的页面编码都不统一,我们使用chardet检测页面的编码,尽可能的减少编码问题的出现 网页编码问题解决使用 ...
- php+laravel依赖注入浅析
laravel容器包含控制反转和依赖注入,使用起来就是,先把对象bind好,需要时可以直接使用make来取就好. 通常我们的调用如下. $config = $container->make('c ...