writeup-level3-攻防世界pwn新手区
writeup-level3-攻防世界pwn新手区学了web之后,顿时觉得pwn比web有意思多了哈哈哈哈,就是每次要开虚拟机好麻烦
0x01保护机制总结这里概述一下这几种保护机制:
RELRO:主要用来保护重定位表段对应数据区域,默认可写;
Partial RELRO got表不可写,got.plt可写 ;
Full RELRO got表,got.plt不可写;
canary:在栈靠近栈底某个位置设置校验随机数,被覆盖就出现错误,防止栈溢出的一种保护;
NX:堆、栈、BSS段没有执行权限;
PIE:程序装载的位置是随机的;
ASLR:
0, 不开启任何随机化;
1, 开启stack、libraries、 [executable base(special libraries -^-) if PIE is enabled while compiling] 的随机化;
2,开启heap随机化。
0x02 动态链接库详解 ret2libc 这种攻击方式主要是针对 动态链接(Dynamic linking) 编译的程序,因为正常情况下是无法在程序中找到像 sys ...
CVE-2022-22965漏洞分析复现
CVE-2022-22965漏洞分析复现 注:本文参考极盾科技相关文章,有非常多引用,但是由于太多了影响阅读因此只在标题做了标明,因此本文仅供自行学习,若有需要,可以参考原链接:
https://www.aqniu.com/industry/82365.html
先来一张java现状,lol:
0x01 漏洞基本情况基本概况:
After Spring Cloud, on March 29, another heavyweight vulnerability of Spring broke out on the Internet: Spring Core RCE
On March 31 Spring released new versions which fixes the vulnerability. See section Patching.
On March 31 a CVE-number was finally assigned to the vulnerability with a CVSS score 9.8 (CRITICAL)
环境需求:
JDK9及 ...
攻防世界supersqli_writeup
攻防世界supersqli_writeupweb这进阶区也不简单啊,为什么有那么多人做出来了…
参考:https://www.cnblogs.com/hugboy/p/13477856.html
0x01 判断漏洞存在首先,做一个引号闭合,看他用的是单引号还是双引号:
输入1'和1",发现前者报错:
那么我们就知道用单引号闭合了,那我们可以先看看这个表里面有什么东西1' or 1=1;#:
表里面有三行,那估计我们要的值实是在其他表里了。
0x02 查看数据库和表的情况1';show tables;#查询所有的表:
也就是说,我们这个数据库中有两个表,这时候我们可以查看一下表中的内容:
1';show columns from words;#
可以看到words就是我们当前使用的表格,然后再看另一个表:
1';show columns from 1919810931114514;#
通过上面这个命令执行发现没有显示,这是因为纯数字的话需要添加反引号包裹:
1’;show columns from `191981093111451 ...
sql注入笔记@Biscuit19
sql注入笔记 被迫转web了,总结一下sql注入吧,笔记源于@**Biscuit19_**;
0x01 sql基础一、插入更新删除1234567CREATE TABLE table_name (column_name column_type);insert into tb_name (column1,column2,column3,...) values (value1,value2,value3,...);update tb_name set 字段1 = 新值,字段2 = 新值, where 字段 = 某值;delete from tb_name where 列名称 = 某值;
二、常用到的通用字段information_schema是整个数据库
information_schema里的表:
information_schema.schemata为所有数据库信息,包含:
其中的字段:
schema_name: 所有数据库名
information_schema.tables为所有表的信息,包含:
其中的字段:
table_schema: 表所在的数据库名
ta ...
CVE-2020-16875漏洞分析与复现
CVE-2020-16875漏洞分析与复现0x01 漏洞简述
Microsoft Exchange Server 是个消息与协作系统。由于对cmdlet参数的验证不正确,Microsoft Exchange服务器中存在一个远程执行代码漏洞。成功利用此漏洞的攻击者可以在系统用户的上下文中运行任意代码。
利用条件:利用此漏洞需要拥有以某个Exchange角色进行身份验证的用户权限。
0x02 环境配置我觉得这个漏洞的环境的配置是真的恶心了,这个exchange server真实配的我血压上升。
虚拟机:win server 2016:
内存最好8G或以上,CPU 4或以上,否则因为内存爆炸然后崩溃。
SERVER:2016 CU16
可以参考博客:https://saucer-man.com/information_security/748.html#cl-6
一、服务配置:首先需要安装各种服务:
二、官网下载iso在官网下载所需iso的文件,慢慢下。。。
三、处理报错 使用管理员用户运行iso下的setup.exe,没有什么特别的,按照自己的想法选,一直 ...
Metasploit的使用笔记
Metasploit的使用笔记
Metasploit项目是一个旨在提供安全漏洞信息计算机安全项目,可以协助安全工程师进行渗透测试(penetration testing)及入侵检测系统签名开发。
Metasploit项目最为知名的子项目是开源的Metasploit框架,一套针对远程主机进行开发和执行“exploit代码”的工具。其他重要的子项目包括Opcode数据库、shellcode文件、安全研究等内容。
Metasploit项目知名的功能还包括反取证与规避工具,其中的某些工具已经内置在Metasploit Framework里面。
摘自:维基百科https://zh.wikipedia.org/wiki/Metasploit
msf很像是python,它是有自己的命令执行窗口的,快速打开执行窗口(-q表示快速quick):
1msfconsole -q
0x01 木马文件的配置与生成此后的命令都是在msfconsole中输入的:
一、配置木马:选择模块:
1use exploit/multi/handler
输出当前选项:
1show options
可以看到输出了我 ...
寄存器总结
寄存器总结16个寄存器可以被分成以下四类:
8个通用寄存器(General-purpose registers)
6个段寄存器(Segment registers)
程序状态与控制寄存器(EFLAGS)
指令指针寄存器(EIP register)
一、通用寄存器:32位CPU通用寄存器共有8个:EAX,EBX,ECX, EDX,ESI,EDI,EBP,ESP
第1- 4个寄存器:
EAX:累加寄存器,是操作数和结果数据的累加器
EBX:基址寄存器,指向DS段中数据的指针
ECX:计数寄存器,是字符串和循环操作的计数器
EDX:数据寄存器, I/O指针
上面4个寄存器主要用于算术运算(ADD/SUB/XOR/OR等) 指令中,常用来保存常量与变量的值
变址寄存器(第5-6个):
ESI:(字符串操作源指针)源变址寄存器
EDI:(字符串操作目的指针)目的变址寄存器
ESI和EDI与特定的串操作指令(MOVS/LODS/STOS)一起使用,在字符串操作的时候用的比较多
变址寄存器存放存储单元在段内的偏移 ...
CVE-2020-16898漏洞分析与复现
CVE-2020-16898漏洞分析与复现
0x01 漏洞概述 本漏洞是由于Windows TCP/IP堆栈在处理ICMPv6的路由广播数据包时,处理逻辑存在纰漏,导致存在远程代码执行漏洞。成功利用该漏洞的攻击者可以在目标机器(主机或服务器)上执行任意代码,破环该主机。
0x02 环境配置靶机——win server 2019
攻击者——win10主机
靶机使用NAT连接,开启IPV6:
fd15:4ba5:5a2b:1008:5dfd:a60a:67fe:fb59
0x03 原理分析一、基本信息 漏洞文件:tcpip.sys
漏洞函数:Ipv6pUpdateRDNSS()函数
漏洞对象:ICMPv6路由广播中的option结构
二、tcpip.sys文件信息收集
储存路径为:windows\system32\drivers
1.函数调用关系直接进入Ipv6pUpdateRDNSS()函数,右键查看调用关系:
Icmpv6ReceiveDatagrams( ) -> Ipv6pHandleRouterAdvertisement( ) -&g ...
CVE-2020-1350漏洞分析与复现
CVE-2020-1350漏洞分析与复现
0x01漏洞概述 (CVE-2020-1350) 是 Windows DNS 服务器中的一个严重漏洞,其CVSS得分为10分,通过恶意DNS相应触发后,可以进行提权。
0x02 DNS协议与攻击流程一、关于DNS协议
DNS 通过 UDP/TCP 端口 53 运行。
单个 DNS 消息(响应/查询)在 UDP 中限制为 512 个字节,在 TCP 中限制为 65,535 个字节。
二、Windows中的DNS模块
DNS客户端——dnsapi.dll负责DNS解析。
DNS服务器——dns.exe负责回答DNS查询。
我们的研究关键在于对于DNS服务器的攻击,也就是对于dns.exe的分析。
三、通信流程要让被攻击的服务器解析来自我们恶意DNS服务器的响应,需要进行以下的通信流程:
将我们的域名(evilDomain.com)的NS服务器(名称服务器)配置指向我们的恶意DNS服务器(evilServer.com);
向受害DNS服务器发送查询请求,查询目标为*我们的域名(evilDomain.com)*;
受害DNS服务器不知道答 ...
reverse_花指令实例
reverse_花指令实例以看雪.TSRC 2017CTF秋季赛第二题为例,解决花指令的反调试问题。
一上来就F5失败。
一开始先打印了一行字,然后调用了一个干扰函数,进入逻辑相对清晰的sub_401050:
scanf()没限制长度,可以把返回地址盖掉。。。
所以说,基础的逻辑都是假的,这题就是要输入一个比较长的内容覆盖返回地址后才会出现真东西。
那么,我们要跳到哪里才能正常执行呢?
idaview往下找:
c键变code:
看起来比较靠谱,也就是说应该跳转到地址0x00413131处。
我们可以直接pwn-tools构造一个脚本,但似乎听说看雪比赛似乎是只能输入字母和数字的,仔细看地址正好是A11的值,因此就不需要折磨自己了。
直接构造溢出字符串为222222222222A11(十二个填充位,三个溢出地址位)。
扔进去执行,并没有什么变化。。。动调看看吧。。
进来先整一个断点,然后直接F9
发现我傻了,地址构造反了,正确的应该是22222222222211A(小端序)
同样动调,然后remove analysis from this module,把这里变回代码。
然后动 ...