渗透测试学习 二十一、 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- ...
随机推荐
- 【转载】Android 中 View 绘制流程分析
创建Window 在Activity的attach方法中通过调用PolicyManager.makeNewWindo创建Window,将一个View add到WindowManager时,Window ...
- Thymeleaf常用语法:使用星号表达式
在处理模板时,一般情况都是使用变量表达式 ${...} 来显示变量,还可以使用选定对象表达式 *{...},它也称为星号表达式.如果在模板中先选定了对象,则需要使用星号表达式.Thymeleaf的内置 ...
- Python—包管理工具与上传工具
https://blog.csdn.net/libbyandhelen/article/details/78808959 https://www.cnblogs.com/nineep/p/947529 ...
- Linux系统学习 七、网络基础—常用网络命令
1.ifconfig #查看网络(设置IP临时生效) 2.hostname [主机名] #查看或设置主机名 默认的是localhost ...
- Linux 和 Windows 查看 CUDA 和 cuDNN 版本
目录 Linux 查看 CUDA 版本 查看 cuDNN 版本 Windows 查看 CUDA 版本 查看 cuDNN 版本 References Linux 查看 CUDA 版本 方法一: nvcc ...
- C# List<T> 转 DataTable
C# List<T>转DataTable 学习自:博客园 Overview 数据!!个人认为程序就是将数据变着花样的显示它.那么这个时候我们的数据处理和获取就时我们的关键一步,如果你数据都 ...
- 一起学react (1) 10分钟 让你dva从入门到精通
前言 如果文章中有错误的地方的话 可以直接加我QQ:469373256 自己针对一些问题做的优化版本 目前刚启动 还不是很成熟 https://github.com/fangkyi03/fastkit ...
- swoole client有什么用
PHP常用socket创建TCP连接,使用CURL创建HTTP连接,为了简化操作,Swoole提供了Client类用于实现客户端功能,并增加了异步非阻塞模式,让用户在客户端也能使用事件循环. 作为客户 ...
- 感受一把面试官通过一道题目引出的关于 TCP 的 5 个连环炮!
面试现场:从 URL 在浏览器被被输入到页面展现的过程中发生了什么? 相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式什么顺序下载?建 ...
- IT兄弟连 HTML5教程 了解HTML5的主流应用1
在很多人眼里,HTML5与互联网营销密切相关,但其实从开发者的角度而言,它是一种网页标准,定义了浏览器语言的编写规范.伴随HTML5标准尘埃落定,浏览器对HTML5特性的逐步支持,再加上国内对HTML ...