自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 CTFshow web入门文件包含

前言:看题web78: if(isset($_GET['file'])){ $file = $_GET['file']; include($file); }else{ highlight_file(__FILE__); }发现include是文件包含没错了,伪协议读取出来就可以了 exp:?file=php://filter/convert.base64-encode/resource=flag.phpweb79:...

2021-10-04 08:46:57 2119

原创 ctfshow web入门 远程命令执行

前言:做一下ctfshow web入门远程命令执行题,这里记录下,刚小白也是刚学web方向的题,大佬勿喷。。。web29 具体分析在代码里: <?php /* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: 2020-09-04 00:12:34 # @Last Modified by: h1xa # @Last Modified time: 2020-09-04...

2021-10-04 08:45:53 1021

原创 CTFshow web入门反序列化

前言:假期期间刷刷CTFweb方向的题吧,毕竟之前也是做实战渗透的web254:经过代码审计,这个题逻辑不是很乱,就是if之间的相等,等于它设置的变量就可以了 ?username=xxxxxx&password=xxxxxxweb255:这个题正式进入反序列化了,源代码如下(具体分析也在代码中了): <?php /* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: ...

2021-10-04 08:44:09 1026

原创 Iot:cve-2018-18708实验记录

前言:复现了一道路由器cve的题。这里来记录一下,学习一下路由器漏洞挖掘的技巧,大佬勿喷1、先去官方下载相应的固件版本进行审计2、再用binwalk -t -e 对bin文件进行提取3、根据cve-2018-18708的漏洞描述,它的中间件有漏洞。对它的bin目录下的httpd进行审计4、遇到的一个问题就是在qemu启动这个httpd文件时候,会有检测网络的东西,所以我们要把它patch掉现在就简绍一下如何patch arm程序为nop首先:1、edit-》patch program-》c..

2021-09-29 18:37:11 2912

原创 逆向中的Tea加解密算法案例

前言:熟悉的夜晚,记录一下Tea的加解密方法,由于时间原因,这个不会太探究原理,只作为一个案例来写,主要是根据xman的一个pwn题,魔改Tea算法原理明文长度分组为64位(8字节),密钥长度为128位(16字节),明文和密钥进入32轮循环,得到最后的64位密文。其中magic number DELTA是由黄金分割点得到。 算法比较简单源码如下#include<stdio.h>#define DELTA 0x9e3779b9void tea_encrypt(unsigne

2021-09-08 19:26:40 1187 1

原创 四川省网络安全技能大赛 PWN一题wp

前言:没做过c++的题,也不知道怎么找漏洞,貌似这道题在id输入大量的数据,当数据爆满时遇到非法的内存数据,会让你重新输入,能够泄露出我们是堆和libc地址貌似这道题解法是这,难点在泄露,当我们成功泄露出heap,可以利用uaf,进行edit成大堆块进而去打exp:from pwn import *p=process('./classroom')elf=ELF('./classroom')libc=ELF("/lib/x86_64-linux-gnu/libc.so.6")cont

2021-09-06 15:13:44 889 2

原创 WMCTF 2021 pwn Azly复现

WMCTF 2021 pwn Azly复现前言:这次比赛好难,就复现两道pwn题吧,剩下的是真不会,因为之前都没遇到过,只能以后慢慢的学,比赛中还有区块链的题,关于区块链的题复现下次提交,这次先复现两道关于pwn的题吧,题除了musl pwn题第一题还算常规red_high_heels漏洞分析:本题开启了花指令,所以先去除花指令,重组逻辑,就可以很快的发现漏洞,当时比赛的时候不会去除花指令,只是瞎翻翻,结果发现看到一个多线程,就感觉这道题是考察条件竞争的题,但是这题出的有个缺陷就是,在主

2021-09-01 11:06:46 661

原创 新学期新环境学习计划

根据团队分工,本人准备往区块链智能合约CTF方向发展但由于本人也是pwn方向的选手(学习一年依旧很菜)并不想甩开它,所以在进以下计划时不会丢弃它,因为它是我的初衷1、主攻区块链智能合约安全,会学习开发基础,复现CTF题目、Ethernaut、​ChainFlag、https://blockchain-ctf.securityinnovation.com等这些学习(一年的练习)2.pwn的不断精进,在这一年里会注重于质的进步,分析每一个题的漏洞和细节利用方式(周期为续一年),不断总结,月月写.

2021-08-30 18:57:59 5142 1

原创 2021祥云杯 pwn wp

前言:题都不难,我好气,这次被大佬带飞,队里的pwn手都是神级别的,这里出了三道题,如果我不是sha,我应该能出五道,可是我好菜,这里贴出一下note:思路:自己构建格式化字符串漏洞,自己打,先打IO——stdout,泄露libc基地址,再打的是reallochook为onegadget,然后进行申请获取rceexp:#coding:utf-8from pwn import *context.log_level = "debug"p = process("./note")libc =.

2021-08-28 09:11:05 395

原创 Kernel rop attack 2018QWBcore复现

前言:最近刚入手内核题,所以这里跟着ctfwiki进行学习下,大佬勿喷。。。第一步很经典。。。如果题目没有给 vmlinux,可以通过 extract-vmlinux 提取。看到start.sh发现开启了kalsr随机化,需要进行泄露计算基地址,这里跟用户态pwn题很相似看下init:#!/bin/shmount -t proc proc /procmount -t sysfs sysfs /sysmount -t devtmpfs none /dev/sbin/mdev -sm

2021-08-28 09:09:48 334

原创 内核pwn入门之ciscn2017_babydrive UAF

前言:第一次入手内核题,全靠fmyy师傅博客的复现,复现完后,大致对uaf在内核的利用有了大概的理解。解题步骤:1.简短话语进行写博客吧,题目给了我们一个压缩包,把它解压,发现没有vmlinux,所以这里采用extract-vmlinux来进行提取vmlinux,为什么要提取这个文件,因为后期我们如果用到调试的时候需要调试这个文件 ./extract-vmlinux ./bzImage > vmlinux#!/bin/sh# SPDX-License-Identifier: GPL-2.0

2021-08-28 09:04:08 565

原创 技巧篇:unlink经典题exp简绍

前言:由于2月份学过unlink,过了很久决定来记录下,要不然又得忘,unlink简单来说其实是可以模板化的进行套,它的利用技巧就是谁用堆,就unlink谁,达到任意地址写jarvisoj_level6_x64edit有溢出,可以尝试unlink任意写freegot表exp:#coding:utf-8from pwn import * local = 1binary = "./freenote_x64" if local == 1: p = process(binary)

2021-08-28 09:00:33 233

原创 友情记录大佬链接

**Retstr0师傅博客:https://blog.restro.cn/ptr:https://www.cnblogs.com/z2yh/wjhwjh师傅博客:http://blog.wjhwjhn.com/魔法少女:http://www.snowywar.top/fmyy师傅博客:https://fmyy.pro/Rookie:https://www.cnblogs.com/Rookle/不会修电脑师傅博客:https://www.cnblogs.com/bhxdn/nuoye师傅博客:h

2021-08-28 08:58:00 841

原创 vmpwn一&高校战役Easyvm复现

高校战役Easyvm前言:本人tcl,刚接触vm不久,这个看了别人的wp感觉难度还可以,决定自己复现一下大佬勿喷哈此题思路:就是依靠任意地址写来打freehook,然后再一把唆onegadget可以system也可以!!int __cdecl main(int argc, const char argv, const char **envp){void *buf; // ST2C_4_DWORD *ptr; // [esp+18h] [ebp-18h]int v5; // [esp+AC

2021-08-27 07:40:30 306

原创 GACTF2020&vmpwn

**前言:上个星期复现了一道vmpwn题,忘记写到博客了,所以今天写一下,此题也属于比较常规的一种vmpwn题,只要逆出来opcode指令就能做出,这里根据官方wp来进行了复现了一下思路:直接泄露了memaddr,然后再利用read往memaddr的后面进行了srop进行读取,即可这里用到setcontext+15来控制执行流这里没什么好演示的,直接给出exp吧**exp:#coding:utf8from pwn import * libc = ELF('/lib/x86_64-lin

2021-08-27 07:33:25 215 1

原创 ciscn2021CTF国赛pwn解

CTF2021-05-18总结:这次pwn的比赛难易程度尚可,菜菜的我在各位师傅的领导下勉勉强强做出了3道pwn,这三道pwn都不算太难,一道越界,越界pwny这道题确实把我搞吐了,后期卡在了ret的与数组的偏移,这个不会计算,在th1un师傅的领导下,才知道了如何计算,勉强做出来了,值得说的是数组越界在2021年比赛中出现的越来越频繁了,是真的频繁了,第二道pwn是一个堆,只不过index受到了限制,既然index受到了限制并不影响我们在同一个index构造多个chunk,所以这个题也是常规操作.

2021-08-27 07:31:54 1377

原创 技巧篇:scanf触发malloc_consolidate进行unlink(chunk size限制得到极小的chunk)

前言:之前刷过这样的题,由于时间原因忘的差不多了,这里捡起两道不相似类型的题进行了大佬的exp学习,这里就不重写exp了,很好理解。一个off-by-one 一个off-by-nulloff-by-one exp:from pwn import *def add(size, index, content): sh.sendlineafter('choice >> \n', '1') sh.sendlineafter('Size : ', str(size))

2021-08-27 07:29:27 1693

原创 技巧篇:SCTF2020 coolcode 测信道攻击pwn题

**前言:第二次遇到侧信道攻击pwn题,禁用了open,同样需要切换32位使用open,随后利用retfq切换回来,进行rw。就可以了,这个不需要爆破,free为read,读取道bss段,rw即可,另一篇侧信道是强网杯的一道强网先锋:http://www.maxbos44k.top/index.php/archives/102/http://www.maxbos44k.top/index.php/archives/103/。**转载ChaMd5 exp:from pwn import *cont

2021-08-27 07:26:07 837

原创 意思篇:全开,bss段数组溢出,打stdout和data数据区域进行读取(很有意思)

前言:这道题我看了一个师傅的wp,发现这道题感觉很有意思,所以这里就记录一下,像标题一样,很有意思,这道题大概就是数组溢出bss,在bss有stdin和stdout,stderr,freehook,溢出打这些东西来完成泄露任意写的目的,最后打freehook的时候,要利用一个_IO_file_jumps ----》io——overflow这个东西溢出到onegadget即可,具体看exp就会明白,这里参考了另一个师傅的exp,非常有参考价值,学到很多东西,嘿嘿exp:from pwn import

2021-08-27 07:24:26 558

原创 技巧篇:禁用fastbin,利用house of orange进行测试

**前言:一道关于house of orange的一道利用题目,我感觉house of orange就是模板化的攻击遍历。list_all,修改vtable指针。,再利用jumps进行跳转,这些,不理解的化,可以去这里https://ctf-wiki.org/pwn/linux/user-mode/io-file/exploit-in-libc2.24/里面有很详细的简绍,这里只付出一道关于house of orange的一道pwn题exp思路:通过逆向分析,发现题目有off-by-null,第一步多.

2021-08-27 07:23:11 242

原创 技巧篇:Tcache stash unlink attack(ubuntu19)

前言:今天早上刷题的时候,刷到了一道关于Tcache stash unlink attack的技巧篇,其实简单来说就是tc attack,至于unlink就是为了绕过unlink检测,它还有uaf,开启了沙盒,唯一的突破点是orw,orz。。还是老样,弄了一下别的师傅的exp,自己懒得写啦。。还得调试orz orz、、exp:#coding:utf-8from pwn import * #r = remote("node4.buuoj.cn", 27347)r = process("./h

2021-08-27 07:21:41 221

原创 强网杯2021CTF 强网先锋shellcode侧信道攻击复现

前言:由于个别原因这个比赛忘记参加了,所以赛后挑选了一道测信道攻击的题来进行复现,这个题开启了沙盒,采用测信道爆破flag,大概思路:使用retf切换到32位open来进行open('./flag'),retfq再回到64位的write和read就可以了,此题禁用了open所以使用32位的open,如果禁用了write就使用32位的write,同理,具体代码分析,懂汇编就能看懂这里就不赘述了,参考了别的大佬的exp,大概就是这样写的,至于系统调用号可以参考前篇调用号文章exp:from pwn i

2021-08-27 07:20:37 1420

原创 CTF$LLVM PWN学习

前言:从两道题来学习LLVM PWN题型,一道是红帽杯的simpleVM,一道是ciscn国赛的SATool,这两道是比较经典的LLVM pwn题,这里写下文章来记录学习下LLVM是一个编译器框架。LLVM作为编译器框架,是需要各种功能模块支撑起来的,你可以将clang和lld都看做是LLVM的组成部分,框架的意思是,你可以基于LLVM提供的功能开发自己的模块,并集成在LLVM系统上,增加它的功能,或者就单纯自己开发软件工具,而利用LLVM来支撑底层实现。LLVM由一些库和工具组成,正因为它的这种设计思想

2021-08-26 19:48:48 1013

原创 how2heap&fastbin_reverse_into_tcache劫持tcache strue

**前言:how2heap真实个不错的学习heap堆的地方,自己tcl!!!**fastbin_reverse_into_tcache.c:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h> const size_t allocsize = 0x40; int main(){ setbuf(stdout, NULL); pri

2021-08-26 19:44:36 608

原创 MRCTF2021&Super32官方exp的复现

Mrctf&Super32官方exp复现**前言:说实话,这次MRCTF的比赛题的质量很高,高的我这种菜鸡都不太会做,所以赛后根据官方的exp来复现一下,这里只简绍一下exp的大概思路/思路:我们要让其换表,也就是base32编码后再进行换表,换表后再与解码后的大小check进行替换,结果其大于预先程序设定的大小,这样就直接产生了溢出,这里官方的exp是溢出打top chunk的size,然后进行分配打tc chunk的fd进行malloc_hook为rce,就可以获得shell了。相对于

2021-08-26 19:40:30 377

原创 津门杯2021CTF&红帽杯2021CTF pwn复现

前言:这次的比赛时间重合了,刚了一下津门杯的一个pwn题,就没再看红帽杯的题了,tcl,因此这次复现是参考了nu1l的wp和白帽社区的wp,题的质量对于我这种菜鸟蛮高的一、PwnCtfme 此题通过复现算是一个比较常规的堆题了,因为时间原因没看这道题,一个off-by-null,操作看exp吧,出自于nu1l wpexp:#coding:utf-8from pwn import *context(arch="amd64",os="linux",log_level="debug")p=pr

2021-08-26 19:39:11 682

原创 蓝帽杯CTF2021 pwn解

一、slient 一道原题,直接付出脚本进行打from pwn import * EXCV = context.binary = './chall'e = ELF(EXCV) if args.I: context.log_level = 'debug' def pwn(p, index, ch): # open shellcode = "push 0x10032aaa; pop rdi; shr edi, 12; xor esi, esi; push 2; pop

2021-08-26 19:36:39 480

原创 津门杯2021CTF pwn解

前言:这个题一开始调通了,但是不知道正确的libc版本,远程没有打通,最后听了一下libc版本是11.4的libc2.23版本,才打通,题很多洞,比较经典的是edit的READ容易写。写到freehook为onegadget即可,tcl,只解了一道题,时间原因第二道pwn题也没看,噗。。漏洞点:漏洞点这两个地方,他们都是在bss段里,而且位置比较临近可以直接考虑一下任意写,当时没太注意这个点,直接doublefree的,发现只给了4个chunk,所以没能构建出,又审计了一下edit R.

2021-08-26 19:35:39 544

原创 z3约束器 初探 pwn的z3利用技巧

前言:这里简单记录下,z3的利用技巧,所以这里采用强网杯的一道题,z3很强大,。摸int show(){ unsigned __int64 v1; // [rsp+8h] [rbp-8h] puts("index:"); v1 = sub_BEF(); if ( v1 > 0x10 || !*((_QWORD *)&chunk + 2 * v1) || !qword_202068[2 * v1] ) { puts("error"); exit(0

2021-08-26 19:32:12 295

原创 2021DASCTF July X CBCTF pwn wp

此题是7月末的比赛,本人旧博客搬到新博客啦,各位见谅哈(实际就是没钱租用服务器啦呜呜)**EasyHeap wp:Edit有堆溢出,有沙箱,禁用了execute,freehook为setcontext+5361即可,尝试orw就行了。写shellcode到hook,赋予权限即可,**exp:from pwn import *context(os='linux',arch='amd64',log_level='debug')p=process('./Easyheap')p=rem

2021-08-26 19:30:08 325

原创 glibc2.31 off-by-null orw 攻击手法刨析

前言:复习一下glibc2.31版本的orw手法,largebin的残留信息进行unlik,随便弄个题来写的刨析,嘿嘿,仅large bin chunk的堆块伪造,并即可实现堆块重叠并large bin attack 任意写攻击TLS结构体中的存放tcache结构体指针的位置,从而可以伪造tcache bin结构体进行任意构造再通过上述demo任意写控制参数,从而在assert后即可进行栈迁移glibc2.31 off-by-null orw 攻击手法刨析Free(3) 3---->un

2021-08-26 19:25:29 897

原创 2021祥云杯 CTF pwn解 wp

前言:题都不难,我好气,这次被大佬带飞,队里的pwn手都是神级别的,这里出了三道题,如果我不是sha,我应该能出五道,可是我好菜,这里贴出一下note:思路:自己构建格式化字符串漏洞,自己打,先打IO——stdout,泄露libc基地址,再打的是reallochook为onegadget,然后进行申请获取rceexp:#coding:utf-8from pwn import *context.log_level = "debug"p = process("./note")libc =

2021-08-26 19:19:48 1217 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除