内网渗透之内存读取
环境Windows-Mimikatz适用环境:微软为了防止明文密码泄露发布了补丁KB2871997,关闭了Wdigest功能。
当系统为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,此时可以通过修改注册表的方式抓取明文,但需要用户重新登录后才能成功抓取。
基本命令:123456789101112131415161718192021222324252627cls:清屏standard:标准模块,基本命令crypto:加密相关模块sekurlsa:与证书相关模块kerberos:kerberos模块privilege:提权模块process:进程模块service:服务模块lsadump:lsadump模块ts:终端服务器模块event:事件模块misc:杂项模块token:令牌操作模块vault:windows证书模块minesweeper:Mine Sweeper模块net:dpapi:DPAPI模块(通过API或者RAW访问)busylight:Busylight 模块sysenv:系统环境模块sid:安全标识符模块iis:IIS XML配置模块rpc:mimik ...
CRSF基础
本次课程是 Web 安全漏洞学习的延续,系统讲解CSRF 跨站请求伪造漏洞,从定义、原理、攻击条件、测试流程、分类利用、实操案例、防御手段全维度拆解,同时明确 CSRF 与 XSS 的核心区别,以下是分模块的详细总结,包含所有实操步骤、核心思路和必备知识点。
1 CSRF 跨站请求伪造基础认知(定义 + 核心区别 + 必备知识点)1.1 核心定义
全称:跨站请求伪造,简称 CSRF(课程中笔误写为 CSF/XSF,均指同一漏洞);
别称:One click attack(一键式攻击),因攻击者只需诱骗用户点击一次恶意链接即可完成攻击;
本质:挟持已登录 web 应用的用户,在其合法权限下执行非本意的操作,攻击者无需盗取用户账号、密码等信息,仅借用用户的登录状态。
条件:
后台为登录状态
数据包添加的格式
1.2 CSRF 与 XSS 的核心区别二者均需向用户发送恶意 链接 诱使其点击,但权限获取方式、操作主体、攻击逻辑完全不同,是 Web 安全中极易混淆的两个漏洞,核心对比如下表:
表格
对比维度
CSRF 跨站请求伪造
XSS 跨站脚本攻击
核心逻辑
借用用户已 ...
栈
1 概念栈是我们做PWN时的一个十分重要的数据结构,栈区也是一个需要注意的内存区域
栈是一种数据结构,存放局部变量,从感性上说,可以想象成羽毛球筒,球只能从筒口插入,从筒口拿出
栈是由高地址向低地址生长
2 PUSH指令(字入栈)格式:PUSH 源操作数(字)
1PUSH AX ;AX进栈
PUSH 指令首先减少 ESP 的值,再将源操作数复制到堆栈。操作数是 16 位的,则 ESP 减 2,操作数是 32 位的,则 ESP 减 4。PUSH 指令有 3 种格式:
123PUSH reg/mem16 PUSH reg/mem32 PUSH imm32
注意:push指令不允许8位寄存器
高字节先进栈,低字节在栈顶
2.1 PUSHAD指令
在实际应用中,pushad 和 popad 常用于函数调用或中断处理程序的开头和结尾,以此来保存和恢复寄存器状态,确保这些操作不会对调用者的寄存器值产生影响。不过要留意,这两条指令会对栈进行大量操作,所以在栈空间有限的情形下要谨慎使用。
3 POP指令(字出栈)格式:POP 目的操作数
1POP AX ;恢复AX
POP 指令首先将 ...
文件包含漏洞
概念和SQL注入等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。
什么叫包含呢?以PHP为例,我们常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程叫做包含。
有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。
种类以PHP为例,常用的文件包含函数有以下四种include(),require(),include_once(),require_once()
区别如下:
require():找不到被包含的文件会产生致命错误,并停止脚本运行
include():找不到被包含的文件只会产生警告,脚本继续执行
require_once():与require()类似:唯一的区别是如果该文件的代码已经被包含,则不会再次包含
include_once():与include()类似:唯一的区别是如果该文件的代码已经被包含,则不会再次包含
伪协议<!DOCTYP ...
内网隧道与代理技术
1 内网基础知识1.1 内网外网简介1.1.1 概念内网
内网又称局域网,是指在某个局域网内由多个计算机以及网络设备构成的网络
我们常说的内网,往往是区别于外网的,也就是说内网一般是用于计算机内部之间的相互通讯
外网
也称广域网,是连接不同局域网或局域网计算机通信的远程网
所覆盖的范围从几十公里到几千公里
广域网并不等同于互联网
区别
内网和外网的覆盖范围不一样,内网通常范围小,外网一般指Internet网
内网一般是用于局域网内部的计算机之间的相互通讯,如果要访问Internet,需要借助外网,一般可以使用NAT技术实现内网访问外网
内网地址一般使用私有地址;外网使用公有地址1.2 公网地址与私网地址
1.3 NAT网络转换NAT 技术是 1994 年被提出来的。简单来说,它是把内部私有 IP 地址翻译成合法有效的网络公有 IP 地址的技术。
通过 NAT 技术接入外网如下图所示:
若专用网内部的一些主机本来已经分配到了本地 IP 地址(仅在本专用网内使用的专用地址),但现在又想和 Internet 中的主机通信(并不需要加密),可使用 NAT 技术,这种技术需要 ...
文件上传漏洞
1 概念文件上传漏洞是指由于程序员未对上传的文件进行严格的验证和过滤而导致的用户可以越过本身权限向服务器上传可执行的动态脚本文件。
1.1 危害非法用户可以上传恶意文件控制整个网站,甚至是控制服务器,这个恶意脚本文件,又被称为webshell后门,可以很方便的查看服务器信息、目录、执行系统文件等
1.2 有关文件上传的知识1.2.1 过程客户端 选择发送的文件->服务器接收->网站程序判断->移动到指定路径
1.3 php文件上传代码文件上传时会返回一些代码给客户端,客户端会根据这些值判断上传是否正常
值:0
没有错误发生,上传成功
值:1
上传文件超过php.ini 中 upload_maax_filesize 限制大小
值:2
上传文件大小超过HTML表单中MAX_FILE_SIZE选项限定的值
值:3
文件只有部分被上传
值:4
没有文件上传
2 分类文件上传漏洞可分为直接文件上传和有条件的文件上传
直接文件上传:属于高危漏洞的一种,能直接getshell,没有任何限制,攻击者很容易通过上传点,获取网站控制权
有条件的文件上传:一般是开发 ...
mathjax基础语法
MathJax 语法一、 行内公式使用单个美元符号 $ 包裹公式。
示例:
\sqrt{x^2 + y^2}$$ 会显示为 $\sqrt{x^2 + y^2}$。
## 二、块级公式
使用双美元符号 $$$$ 包裹公式。
**示例:**
123$$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$$
会显示为:\sum_{i=1}^{n} i = \frac{n(n+1)}{2}
## 三、 常用数学符号分类
### 1. 运算符号
| 符号 | 名称 | 渲染后 | 未渲染 |
| ----------- | ---------- | -------------- | ----------- |
| $+$ | 加号 | $a + b$ | `a + b` |
| $-$ | 减号 | $a - b$ | `a - b` ...
Java反序列化基础
概念序列化和反序列化的区别
序列化:把Java对象转换为字节序列的过程
反序列化:把字节序列转化为Java对象的过程
出现点
功能特性
反序列化操作一般应用在导入模板文件、网络连通、数据传输、日志格式化存储、对象数据落磁盘或DB存储等业务场景,因此审计过程应重点关注这些功能模块
数据特性
一段数据以rO0AB开头,基本可以确定是JAVA序列化base64加密的数据
以aced开头,是java序列化数据的16进制
具体出现
网络通信:RMI、JMX、JMS、RPC框架(如Dubbo)或使用原生Java序列化协议的Socket通信。
Web应用:通过HTTP请求参数、Cookie、Session(HttpSession存储于文件或Redis)传入并反序列化用户可控的对象。
缓存与持久化:从文件系统或缓存(如Redis、Ehcache)读取序列化对象(.ser文件或字节流)。
第三方组件:使用了存在不安全反序列化漏洞的第三方库(如Apache Commons Collections, Spring, Fastjson等)。
常见情况
XML&SOAP
XML 是一种常 ...
python反序列化
函数利用
pickle模块
pickle dump(obj,file):将对象序列化后保存到文件
pickle load(file):读取文件,将文件中的序列化内容反序列化为对象
pickle dumps(obj):将对象序列化成字符串格式的字节流
pickle loads(bytes_obj):将字符串格式的字节流反序列化为对象
魔术方法__reduce__():反序列化调用__reduce_ex__():反序列化时调用__setstate__():反序列化时调用__getstate__():序列化时调用
dvwa sql盲注
DVWA靶场-sql盲注等级:low123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354<?phpif( isset( $_GET[ 'Submit' ] ) ) { // Get input $id = $_GET[ 'id' ]; $exists = false; switch ($_DVWA['SQLI_DB']) { case MYSQL: // Check database $query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';"; try { $result = mysqli_query($GLOBALS["___mysqli_ston"], $query ); / ...








