Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
渗透测试全流程参考:
https://www.freebuf.com/articles/web/290055.html
https://www.freebuf.com/vuls/360173.html
从旁观者的角度了解整个WEB应用乃至整个目标的全貌,但是资产是收集不完的,可以边收集,边进行一定程度的测试。信息收集最小的粒度应是目录。
信息收集123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051dirbusterkali自带的一款工具,fuzz很方便gorailgun一款自动化做的非常好的工具,信息收集全过程都能用上OneForALL一款子域名收集工具,收集接口非常多,比自己收藏一大堆网址方便,收集子域自动去重,去无效,并进行拓展layer子域名挖掘机和subdomainbrute拉满线程去跑子域名的工具,都是老朋友见面,不用多说了一些信息收集的网站http://www.webscan.cc/ C端同服扫描https:/ ...
基础概念与信息收集
1. 基础概念域名域名互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
网域名称系统网域名称系统(Domain Name System)有时也简称为域名(DNS),是互联网的一项核心服务,它作为可以将域名和 IP 地址相互映射的一个分布式数据库。
二级域名或多级域名顶级域名
又叫一级域名,一串字符串中间一个点隔开,例如baidu.com。顶级域名是互联网DNS等级之中的最高级的域,它保存于DNS根域的名字空间中。
二级域名
实际上就是一个一级域名以下的主机名,一串字符串中间两个点隔开,例如www.baidu.com。二级域名就是最靠近顶级域名左侧的字段。
三级域名
二级域名的子域名,特征是包含三个点,例如mp.weixin.qq.com。
渗透时域名扫描
进行渗透测试时,其主域名找不到漏洞时,就可以尝试去测试收集到的子域名,然后可以由此横向到主网站。
比如layer子域名探测。
同源规则如果域名或 IP 地址、端口与协议都相同,那么就会被判定为同源。
DNS本地Hosts与DNS的关系Hosts文件主要作用是定义 ...
XXE漏洞参考:
https://mp.weixin.qq.com/s/08DlKYbVXPtjIK856PBf8w
https://blog.csdn.net/huangyongkang666/article/details/123818066
原理XML外部实体注入(XML External Entity) 简称XXE漏洞。
XML简介什么是XML XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。
12345678910111213141516171819<!-- XML声明 --><?xml version="1.0"?><!-- DTD文档类型定义(可选) --><!DOCTYPE note [<!ELEMENT note (to,from,heading,body)><!ELEMENT to (#PCDATA)><!ELEMENT from ...
反序列化漏洞参考:https://www.anquanke.com/post/id/224769
原理
序列化 :
概念:将对象转换成字节序列(json/xml文件)。
作用:在传递和保存对象时,序列化可以保证对象的完整性和可传递性。对象被转换为有序字节序列,以便在网络上传输或者保存在本地文件中。
反序列化:
概念:将字节序列(json/xml文件)转换成对象。
作用:根据字节序列中保存的对象状态及描述信息,通过反序列化重建对象。
序列化的优点将对象转为字节流存储到硬盘上,当 JVM (java虚拟机)停机的话,字节流还会在硬盘上默默等待,等待下一次JVM的启动,把序列化的对象,通过反序列化为原来的对象,并且序列化的二进制序列能够减少存储空间(永久性保存对象)。
序列化为字节流形式的对象可以进行网络传输(二进制形式),方便了网络传输。
通过序列化可以在进程间传递对象。
序列化的实现javaJava中,只有实现了 Serializable 或者 Externalizable 接口的类的对象才能被序列化为字节序列。
1234567// 序列化java.io.Obj ...
WAF简介功能WAF(Web Application Firewall)的具有以下四个方面的功能:
会话审计
用来截获所有HTTP数据或者仅仅满足某些规则的会话
访问控制
用来控制对Web应用的访问,既包括主动安全模式也包括被动安全模式
架构/网络设计
当运行在反向代理模式,他们被用来分配职能,集中控制,虚拟基础结构等。
WEB应用加固
这些功能增强被保护Web应用的安全性,它不仅能够屏蔽WEB应用固有弱点,而且能够保护WEB应用编程错误导致的安全隐患。
常用功能包括:
1.网马木马主动防御及查杀
2.流量监控
3.网站漏洞防御
4.危险组件防御
5..Net安全保护模块
6.双层防盗链链接模式
7.网站特定资源防下载
8.CC攻击防护
9.网站流量保护
10.IP黑白名单
WAF防护手段异常检测机制:拒绝不符合HTTP标准的请求
增强的输入验证:代理和服务端的验证,而不只是限于客户端验证
白名单&黑名单:白名单适用于稳定的We应用,黑名单适合处理已知问题
基于规则和基于异常的保护:基于规则更多的依赖黑名单机制,基于异常更为灵活
状态管理:重点进行会话保护 ...
逻辑漏洞参考:https://www.freebuf.com/vuls/281141.html
身份验证漏洞暴力破解漏洞攻击者可以通过该漏洞获取用户名和对应弱口令密码,并进行登录操作。
原理由于没有设置登录失败次数限制,导致攻击者可以通过口令字典进行特定用户的密码爆破或通过用户名字典进行特定弱口令的用户枚举。
漏洞点系统登录点
修复对于固定用户名爆破密码,可以针对用户名进行错误次数计算,高于一定阈值账号锁定一段时间,或者添加验证码。但是不能永久锁定,可能被用来进行账户恶意锁定;
对于固定密码枚举用户名、 需要计算IP对URL的请求情况,若某个IP短时间大量请求登录则应该加入黑名单,对传输数据进行加密有一定的防护效果。
Session固定攻击会话固定攻击是利用服务器的session不变机制,借他人之手获得认证和授权,然后冒充他人 。
原理在请求登录过程时候,URL带有一个session,登录成功之后会将登录成功的信息绑定到这个session中,攻击者可以发送带有session的URL给相关工作人员诱导其登录,相当于获取了其身份信息。
漏洞点在GET方法请求登录时候带有session值。
...
CRLF 注入漏洞参考:https://blog.csdn.net/weixin_44431280/article/details/122869484
CRLF 简介CRLF 指的就是回车符(CR,ASCII-13,\r,%0d)和换行符(LF,ASCII-10,\n,%0a)
即%0d%0a。
操作系统就是通过这个标识进行换行的,相当于我们键盘的回车键。
HTTP协议中的CRLF:
在HTTP协议报文中,请求行与请求头通过一个CRLF(\r\n)隔开,请求头(header)和请求正文(body)之间通过两个CRLF(\r\n)隔开,如下图:
所以,一旦我们通过URL能够控制HTTP 消息头(请求行)中的字符,注入一些恶意的换行,这样我们就能构造恶意的请求行或请求正文,注入一些会话Cookie或者HTML代码。所以CRLF Injection又称为HTTP响应拆分漏洞HTTP Response Splitting,简称HRS。
利用Cookie会话固定在URL参数中构造%0d%0aSet-Cookie:crlf=ture
查看HTTP响应包,可以发现HTTP响应头存在了Set-Co ...
SQL注入
1. 概念SQL注入是一种将SQL代码插入或添加到应用(用户)的输入参数中的攻击,之后再将这些参数传递给后台的sql服务器加以解析和执行。
sql注入的方式主要是直接将代码插入参数中,这些参数会被置入sql命令中加以执行。间接的攻击方式是将恶意代码插入字符串中,之后将这些字符串保存到数据库的数据表中或将其当成元数据。当将存储的字符串置入动态sql命令中时,恶意代码就将被执行。
如果web应用未对动态构造的sql语句使用的参数进行正确性审查(即便使用了参数化技术),攻击者就很可能会修改后台sql语句的构造。如果攻击者能够修改sql语句,那么该语句将与应用的用户具有相同的权限。
2. 产生过程大多数的web应用都需要与数据库进行交互,并且大多数web应用编程语言(如ASP、C##、.NET、Java和PHP)均提供了可编程的方法来与数据库连接并进行交互。
如果web应用开发人员无法确保在将从web表单,cookie及输入参数等收到的值传递给sql查询(该查询在数据库服务器上执行)之前已经对其进行过验证,那么通常会出现sql注入漏洞,如果攻击者能够控制发送给sql查询的输入,并且 ...
文件上传
概念文件上传漏洞是指用户上传了一个可执行的脚本文件webshell,而且通过这个脚本文件获得了执行服务器端命令的能力。
Webshell 以 ASP、PHP、JSP 等网页文件形式存在的一种命令执行环境,也称其为一种网页后门,通过 Webshell 可以对所在服务器进行远程管理。
危害非法用户可以利用上传的恶意脚本文件WebShell控制整个网站,甚至控制服务器。也可将WebShel脚本称为一 种网页后门,WebShel脚本具有非常强大的功能,比如查看服务器目录、服务器中的文件,执行系统命令等。
网站被植入黑链(博彩、黄色)
挖矿
文件泄露
产生原因前端或者服务端代码未对客户端上传的文件进行严格的验证和过滤。
文件上传漏洞发生的前提
1、网站上传功能能正常使用2、文件类型允许上传3、上传路径可以确定4、文件可以被访问,可以被执行或被包含
查找和判断黑盒查找:不知道源代码情况下,通过目录扫描和网站应用,以及通过网站后台、会员中心进行获取权限,需要自己判断。
白盒查找:通过源代码分析文件上传漏洞。
判断:通过抓包分析
文件上传的分类
常规类
CMS类
CMS 又叫网站内容 ...