渗透测试面试总结【漏洞篇】
-
- 1.OWAP TOP 10都有哪些?
- 2.中间件漏洞
-
-
- 常见的中间件漏洞及修复建议
- Apache Shiro
-
- 3.框架类漏洞
-
-
- django
- Fastjson反序列化
- ThinkPHP框架特征
- Struts 2 框架特征
-
- 4.未授权访问漏洞
- 5.编辑器漏洞
1.OWAP TOP 10都有哪些?
1、SQL注入
2、失效的身份认证和会话管理
3、跨站脚本攻击XSS
4、直接引用不安全的对象
5、安全配置错误
6、敏感信息泄露
7、缺少功能级的访问控制
8、跨站请求伪造CSRF
9、使用含有已知漏洞的组件
10、未验证的重定向和转发
2.中间件漏洞 常见的中间件漏洞及修复建议 IIS
1- IIS解析漏洞:基于文件名,该版本 默认会将 *.asp;
.jpg 此种格式的文件名,当成Asp解析,原理是:服务器默认不解析`;
`号及其后面的内容,相当于截断。
修复建议:1、限制上传目录执行权限,不允许执行脚本
2、不允许新建目录
3、上传的文件需经过重命名(时间戳+随机数+.jpg等)
2-PUT任意文件写入:IIS Server 在 Web 服务扩展中开启了 WebDAV之后,支持多种请求,配合写入权限,可造成任意文件写入
修复建议:关闭WebDAV和写权限
3-HTTP.SYS远程代码执行
修复建议:安装修复补丁
apache
1-未知扩展名解析漏洞:Apache默认一个文件可以有多个以点分割的后缀,当最右边的后缀无法识别(不在mime.types文件内),则继续向左识别,直到识别到合法后缀才进行解析
2-AddHandler导致的解析漏洞:如果运维人员给.php后缀增加了处理器:AddHandler application/x-httpd-php .php
那么,在有多个后缀的情况下,只要一个文件名中含有.php后缀,即被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
Nginx
1-Nginx配置文件错误导致的解析漏洞:对于任意文件名,在后面添加/xxx.php(xxx为任意字符)后,即可将文件作为php解析。
例:info.jpg后面加上/xxx.php,会将info.jpg 以php解析。
2-目录穿越:Nginx在配置别名的时候,如果忘记加/,将造成一个目录穿越漏洞。可以访问服务器的根目录外还可以访问目录里面的数据
修复建议:只需要保证location和alias的值都有后缀/或都没有/这个后缀
3-目录遍历:当Nginx配置文件中,autoindex 的值为on时,将造成一个目录遍历漏洞
修复建议:将autoindex 的值为置为off
Tomcat
1-Tomcat 任意文件写入:Tomcat配置文件/conf/web.xml 配置了可写(readonly=false),导致我们可以往服务器写文件
修复建议:readonly=true
2-Tomcat manager App 暴力破解:通过burp生成的字典暴力破解manager页面的密码
修复建议:若无必要,取消manager/html功能;若要使用,manager页面应只允许本地IP访问
Apache Shiro 什么是反序列化漏洞?
首先了解一下序列化和反序列化的含义:序列化是指Java对象转化为二进制内容,转换的原因就是为了便于网络传输和本地存储。反序列化的含义是将相应的二进制转换为Java对象。【Hvv|【漏洞篇】面试】Shiro反序列化漏洞
漏洞成因:当输入的反序列化的数据可以被用户控制,那么攻击者就可通过构造恶意输入,让反序列产生非预期对象,同时执行构造的恶意代码
原理:当用户勾选RememberMe并登录成功,Shiro会将用户的cookie值序列化,AES加密,接着base64编码后存储在cookie的rememberMe字段中,服务端收到登录请求后,会对rememberMe的cookie值进行base64解码,接着进行AES解密,然后反序列化。由于AES加密是对称式加密(key既能加密数据也能解密数据),所以当攻击者知道了AES key后,就能够构造恶意的rememberMe cookie值从而触发反序列化漏洞。
1-Shiro550:Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。
在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞。
Payload产生的过程: 命令=>序列化=>AES加密=>base64编码=>RememberMe Cookie值
2-Shiro721:Apache Shiro cookie中通过 AES-128-CBC 模式加密的rememberMe字段存在问题
用户可通过Padding Oracle 加密生成的攻击代码来构造恶意的rememberMe字段,并重新请求网站,进行反序列化攻击,最终导致任意代码执行
3.框架类漏洞 django
1-任意URL跳转漏洞:Django默认配置下,如果匹配上的URL路由中最后一位是/,而用户访问的时候没加/,Django默认会跳转到带/的请求中
2-Django JSONField/HStoreField SQL注入漏洞:该漏洞需要开发者使用了JSONField/HStoreField,且用户可控queryset查询时的键名
在键名的位置注入SQL语句。Django自带的后台应用Django-Admin中就存在这样的写法
3- Django GIS SQL注入漏洞:该漏洞需要开发者使用了GIS中聚合查询的功能,用户在oracle的数据库且可控tolerance查询时的键名,在其位置注入SQL语句。
Fastjson反序列化 fastjson 是阿里巴巴开发的 java语言编写的高性能 JSON 库,用于将数据在 Json 和 Java Object之间相互转换。它没有用java的序列化机制,而是自定义了一套序列化机制
利用过程:
fastjson中,在反序列化的时候 jdk中 的 jdbcRowSetImpl 类一定会被执行,我们给此类中的 setDataSourcesName 输入恶意内容(rmi链接),让目标服务在反序列化的时候,请求rmi服务器,执行rmi服务器下发的命令,从而导致远程命令执行漏洞恶意类怎么上传到服务端?
通过jndi在服务端创造一个有危害的类,目标服务器收到rmi的命令之后,就会加载这个jndi生成的恶意类fastjson rce的原理
jdk 中的 jdbcRowSetImpl 类中的 setAutoCommit 方法中的 lookup方法中的 getDataSourcesName 参数输入可控ThinkPHP框架特征
1-类库导入:采用基于类库包和命名空间的方式导入类库,让类库导入看起来更加简单清晰,而且还支持冲突检测盒别名导入
2-URL模式:可以随心所欲地构建需要的URL地址和进行SEO优化工作
3-编译机制:独创的核心编译和项目的动态编译机制,有限减少OOP开发中文件加载的性能开销
4-查询语言:内建丰富的查询机制
5-视图模型:轻松动态第创建数据库视图,多表查询不再麻烦
6-分组模块:不用担心大项目的分工协调和部署问题,分组模块解决跨项目的难题
7-模板引擎:系统内建了一款卓越的基于XML的编译型模板引擎
8-Ajax支持:内置Ajax数据返回方法,支持JSON、XML和EVAL格式返回客户端
9-缓存机制
Struts 2 框架特征
1-POJO形式和POJO动作:Struts2可以使用任何的POJO接收的形式输入。同样的,你现在可以看到任何POJO的Action类
2-Tag支持:新标签让开发人员写更少的代码
3-AJAX支持:Struts2整合到产品中AJAX支持创建AJAX的标签
4-模板支持:支持生成使用模板
5-插件支持:可以加强和扩大使用插件。大量的插件可供Struts2
6-概要分析:Struts2的提供集成的配置,调试和分析应用程序
7-标签修改容易:在Struts2标签标记,可以调整使用FreeMarker模板
8-提升更少的配置:Struts2的促进更少的配置与用于各种设置的帮助下,使用默认值
4.未授权访问漏洞
# 常见的未授权访问漏洞:1- Redis 未授权访问漏洞
2- MongoDB 未授权访问漏洞
3- Jenkins 未授权访问漏洞
4- Memcached 未授权访问漏洞
5- JBOSS 未授权访问漏洞
6- VNC 未授权访问漏洞
7- Docker 未授权访问漏洞
8- ZooKeeper 未授权访问漏洞
9- Rsync 未授权访问漏洞
10- Atlassian Crowd 未授权访问漏洞
11- CouchDB 未授权访问漏洞
12- Elasticsearch 未授权访问漏洞
13- Hadoop 未授权访问漏洞
14- Jupyter Notebook 未授权访问漏洞
5.编辑器漏洞
# 其实还是文件上传漏洞
1-FCKeditor编辑器
2-EWEbeditor编辑器
3-DotNetTextBox编辑器
4-Kedit编辑器
5-Cute Editor 在线编辑器
推荐阅读
- 靶场实战|【Vulnhub靶场】Web Machine: (N7)
- kali_linux渗透测试|无线渗透_无线网络运行模式
- 安全|为什么说多御安全浏览器安全(哪方面体现其安全性?)
- Web安全|涂寐‘s Blogs 文章更新——220613
- 安全|【小迪安全】web安全|渗透测试|网络安全 | 学习笔记-3
- pikachu笔记|Pikachu漏洞靶场 Burte Force(暴力破解)
- 安全|burpsuite的使用--Intruder模块
- php|pikachu上的密码口令暴力破解
- 渗透演练|WEB漏洞渗透测试靶场整理资源