精选分类

文章列表

# pwn 学习笔记(12)–Chunk Extend and Overlapping ​ chunk extend 是堆漏洞的一种常见利用手法,通过 extend 可以实现 chunk overlapping(块重叠) 的效果。这种利用方法需要以下的时机和条件: 程序中存在基于堆的漏洞 漏洞可以控制 chunk header 中的数据 # 1、对 inuse 的 fastbin 进行 extend: 12345678910111213 int main(void){ void *ptr,*ptr1; ptr=malloc(0x10);//分配第一个0x10的chunk...

# pwn 学习笔记(11)–off_by_one ​ 在处理 for 循环或者 while 循环的时候,有的可能会遇到如下情况: 123456789101112#include<stdio.h>int main(){ char buf[0x10]; for (int i = 0 ; i <= 0x10 ; i ++){ buf[i] = getchar(); } puts(buf); } ​ 多次输入几个 a 之后,发现了最后输出的时候输出了 17 个...

# Pwn 学习笔记(10)–UAF: ​ UAF 就是 Use-After-Free,即一个指向堆块的指针被释放后指针没有置零,形成了悬空指针,使得堆可以再次被使用。 ​ 由于我环境似乎运行不了某个程序,所以演示就不做了,上个简单题来看看。 ​ 题目是一个标准的菜单题,有创建 note 和输出删除的功能,别的不看了,直接看那三个函数: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546unsigned int add_note(){ int v0; //...

# web: # PyBlockly: ​ 网站是一个通过 block 的堆积木的形式编程,有两种数据类型以及四种函数,分别是正常运算,print 输出,min 和 max...

# pwn02: ** 第一步:**checksec 发现 32 位架构,开了 NX 和 ASLR。 ** 第二步:**login 函数有个登陆,账号密码都在里面 ** 第三步:**vuln 函数存在栈溢出,但是只能溢出 8 个字节,确定位栈迁移。 ** 第四步:** 编写脚本,攻击: 123456789101112131415161718192021222324252627282930313233from pwn import *# context.log_level = "debug"elf =...

# web351: 1234567891011121314151617181920212223242526272829303132<?php // 开启PHP文件 error_reporting(0); // 这行代码将PHP的错误报告级别设置为0,意味着关闭所有错误和警告的显示。这通常用于生产环境,以避免暴露敏感信息或错误信息给用户。然而,在开发过程中,保持错误报告开启是推荐的做法,以便及时发现和修复问题。 highlight_file(__FILE__); // `highlight_file()` 函数将指定的文件(这里是当前执行的文件,由 __FILE__...

# 一些基础: private 变量会被序列化为:\x00 类名 \x00 变量名 protected 变量会被序列化为: \x00*\x00 变量名 public 变量会被序列化为:变量名 __sleep () // 在对象被序列化之前运行 * __wakeup () // 将在反序列化之后立即调用(当反序列化时变量个数与实际不符是会绕过) * 如果类中同时定义了 __unserialize () 和 __wakeup () 两个魔术方法, 则只有 __unserialize () 方法会生效,wakeup () 方法会被忽略。此特性自 PHP 7.4.0...

# Web29: 1234567891011 <?phperror_reporting(0);if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ eval($c); } }else{...

# Web1: ​ 题目描述:开发注释未及时删除 。 ​ 打开题目后提示 web1:where is flag? ​ ctrl+u 读取源码。 # Web2: ​ 题目描述:js 前台拦截 === 无效操作 ​ 打开题目后显示:无法查看源代码 ​ 右键无法用,但是 ctrl+u 可以用。 # Web3: ​ 提示要抓包,那就抓包,发送到 repeater,响应头里发现 flag。 # Web4: ​ 题目描述:总有人把后台地址写入 robots,帮黑阔大佬们引路。 ​ 基础知识:Robots 协议(也称爬虫协议,机器人协议等)的全称是 “网络爬虫排除协议”,网站通过...

# pwn 学习笔记(9)- 中级 ROP–ret2csu # 前置知识 ​ 首先是 64 位文件的传参方式:前六个参数是从左到右放入寄存器:rdi、rsi、rdx、rcx、r8、r9,之后的通过栈传参。 ​ 比如: 传参函数大于 7 个: H(a,b,c,d,e,f,g,h) a->%rdi、b->%rsi、c->%rdx、d->%rcx、e->%r8、f->%r9 h->(%esp) g->(%esp) call...