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:...
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...
CTFshow web入门反序列化 前言:假期期间刷刷CTFweb方向的题吧,毕竟之前也是做实战渗透的web254:经过代码审计,这个题逻辑不是很乱,就是if之间的相等,等于它设置的变量就可以了 ?username=xxxxxx&password=xxxxxxweb255:这个题正式进入反序列化了,源代码如下(具体分析也在代码中了): <?php /* # -*- coding: utf-8 -*- # @Author: h1xa # @Date: ...
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..
逆向中的Tea加解密算法案例 前言:熟悉的夜晚,记录一下Tea的加解密方法,由于时间原因,这个不会太探究原理,只作为一个案例来写,主要是根据xman的一个pwn题,魔改Tea算法原理明文长度分组为64位(8字节),密钥长度为128位(16字节),明文和密钥进入32轮循环,得到最后的64位密文。其中magic number DELTA是由黄金分割点得到。 算法比较简单源码如下#include<stdio.h>#define DELTA 0x9e3779b9void tea_encrypt(unsigne
四川省网络安全技能大赛 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
WMCTF 2021 pwn Azly复现 WMCTF 2021 pwn Azly复现前言:这次比赛好难,就复现两道pwn题吧,剩下的是真不会,因为之前都没遇到过,只能以后慢慢的学,比赛中还有区块链的题,关于区块链的题复现下次提交,这次先复现两道关于pwn的题吧,题除了musl pwn题第一题还算常规red_high_heels漏洞分析:本题开启了花指令,所以先去除花指令,重组逻辑,就可以很快的发现漏洞,当时比赛的时候不会去除花指令,只是瞎翻翻,结果发现看到一个多线程,就感觉这道题是考察条件竞争的题,但是这题出的有个缺陷就是,在主
新学期新环境学习计划 根据团队分工,本人准备往区块链智能合约CTF方向发展但由于本人也是pwn方向的选手(学习一年依旧很菜)并不想甩开它,所以在进以下计划时不会丢弃它,因为它是我的初衷1、主攻区块链智能合约安全,会学习开发基础,复现CTF题目、Ethernaut、ChainFlag、https://blockchain-ctf.securityinnovation.com等这些学习(一年的练习)2.pwn的不断精进,在这一年里会注重于质的进步,分析每一个题的漏洞和细节利用方式(周期为续一年),不断总结,月月写.
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 =.
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
内核pwn入门之ciscn2017_babydrive UAF 前言:第一次入手内核题,全靠fmyy师傅博客的复现,复现完后,大致对uaf在内核的利用有了大概的理解。解题步骤:1.简短话语进行写博客吧,题目给了我们一个压缩包,把它解压,发现没有vmlinux,所以这里采用extract-vmlinux来进行提取vmlinux,为什么要提取这个文件,因为后期我们如果用到调试的时候需要调试这个文件 ./extract-vmlinux ./bzImage > vmlinux#!/bin/sh# SPDX-License-Identifier: GPL-2.0
技巧篇: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)
友情记录大佬链接 **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
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
GACTF2020&vmpwn **前言:上个星期复现了一道vmpwn题,忘记写到博客了,所以今天写一下,此题也属于比较常规的一种vmpwn题,只要逆出来opcode指令就能做出,这里根据官方wp来进行了复现了一下思路:直接泄露了memaddr,然后再利用read往memaddr的后面进行了srop进行读取,即可这里用到setcontext+15来控制执行流这里没什么好演示的,直接给出exp吧**exp:#coding:utf8from pwn import * libc = ELF('/lib/x86_64-lin
ciscn2021CTF国赛pwn解 CTF2021-05-18总结:这次pwn的比赛难易程度尚可,菜菜的我在各位师傅的领导下勉勉强强做出了3道pwn,这三道pwn都不算太难,一道越界,越界pwny这道题确实把我搞吐了,后期卡在了ret的与数组的偏移,这个不会计算,在th1un师傅的领导下,才知道了如何计算,勉强做出来了,值得说的是数组越界在2021年比赛中出现的越来越频繁了,是真的频繁了,第二道pwn是一个堆,只不过index受到了限制,既然index受到了限制并不影响我们在同一个index构造多个chunk,所以这个题也是常规操作.
技巧篇: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 >> ', '1') sh.sendlineafter('Size : ', str(size))