软件系统安全赛区域现场赛其中一道pwn题解
0x00 前言人生中第一次去湘潭, 又开拓了版图 0x01 题解robo_admin 机器人管理系统。(连接代理后访问 192.0.100.2 9999,请提交 dart{}中的内容, 附件包含题目附件和 fix. Tar 模板,请在 Fix 环节上传 fix. Tar 进行修复,注意压缩包是 tar 格式,并且 fix. Tar 不要带目录压缩。公告输入会经过解码,评测也会用编码后的格式符进行测试。请同时检查 set_notice () 与 show_status () 两处逻辑;若拦截了解码后的危险字符,错误输出中应包含 “[X] decoded input contains illegal chars”。) 沙箱 & patch的小坑line CODE JT JF K ================================= 0000: 0x20 0x00 0x00 0x00000004 A = arch 0001: 0x15 0x00 0x07 0xc000003e if (A != ARCH_X86_64) goto 0009 0002:...
浅尝AFL++
入门一下fuzzing简单安装配置GitHub - AFLplusplus/AFLplusplus: The fuzzer afl++ is afl with community patches, qemu 5.1 upgrade, collision-free coverage, enhanced laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, and a lot more! 这里先不用源码编译的方式, 直接pull 一个镜像来尝尝鲜 docker pull aflplusplus/aflplusplus:latest 创建demo创建一个目录 mkdir -p ~/afl-demo/incd ~/afl-demo 准备一个.c文件 #include <stdio.h>#include <stdlib.h>#include <string.h>int main(int argc, char *argv[])...
CVE-2017-17215 复现
华为 HG532 路由器 RCE 漏洞 信息收集上一次复现的时候就直奔漏洞点去, 这次决定模拟一下从零开始的过程老样子找到固件并且 binwalk 一下, 本来是想看 /etc/init.d 看看这个路由器启动的时候做了什么, 里面只有一个 rcS #!/bin/sh/bin/echo "rcs"PATH=/sbin:/bin:/usr/bin:/usr/sbinexport PATHecho "RCS DONE" 设定了一下环境变量, 看不出来什么, 但这时候注意到了有个 upnp 文件夹, ai 一下发现是一套网络协议的集合, 主打一个零配置, 就像 USB 一样.当一个支持 UPnP 的设备连上局域网后,它可以自动发现网络上的其他设备,并告诉大家:“我来了,我能提供这些服务” UPnP 可以分成这些阶段设备刚连上 Wi-Fi 或插上网线,就会立刻向局域网内进行组播,通常使用的是 UDP 的 1900 端口。 设备大喊:“大家好,我是一个华为路由器!我的控制接口在 http://192.168.1.1:37215/ctrl...
CVE-2025-10779 复现
简单介绍CVE-2025-10779这个洞来自D-Link的DCS-935L小型摄像头, 是个比较简单的栈溢出漏洞, 利用起来不是很难, 但在环境搭建这里花了较多时间 资产探测信息搜集Fofa https://fofa.info/ 资产探测家用摄像头某些服务会映射到公网去, 用这个网站可以搜到, 但考虑到家用摄像头的 ip 会经常变动, 所以在搜索的时候大致过滤一下, 只看近一个月的 app="D_Link-DCS-935L" && after="2026-02-28" 搜出来的数量大概只有 1/10 能有二进制漏洞的利用, 但 web 会比较多, 大概 1/2这个环节只有实际自己挖的时候会用到, 复现的时候可以不管哈哈 固件获取大概是做逆向分析, 但首先要拿到它的固件. 通常是直接上网搜 型号 + firmware 或者直接这个 https://files.dlink.com.au/ 下载到这个 bin 文件之后用 binwalk 提取 (这个 binwalk...
碎碎念 & 自己的年终总结
...
TGCTF2025 PWN 部分题解
0x00 前言杭师大的新生赛,pwn只做了5/10题,我觉得挺难的题目都被师傅们打成最低分了😭,堆题还是没能做出来,希望可以早日破零但是这次也学到不少东西了,例如容错比较高的泄露libc的方法、free掉伪造的chunk时需要注意的细节之类的,再加油吧还有还有,这是我加入kap0k之后第一次获奖的团队赛捏,还是很开心的看看排名啦,最后拿到了小小三等奖。省赛和ISCC要加油 0x01 题解部分1.签到check一下ida启动:有个gets可以溢出,程序中没有binsh和system,所以要打ret2libc from pwn import *from ctypes import *from struct import packcontext.arch='amd64'context.os = 'linux'context.log_level =...
ISCC2025校级&区域&决赛 PWN 题解
0x00 前言 小弟的第一次ISCC,校赛阶段已经结束了,简单记录一下做的PWN(3/3),平台比想象中的要烂好多好多…很难想象这是一个国家级的比赛。还有各种PY满天飞,甚至有老哥看到同校的PY队直接在比赛群里骂了起来,这就是_______. 欧也,区域赛ak了 kernel pwn不会 0x01 校级赛题解部分签checksec: Arch: i386-32-littleRELRO: Full RELROStack: Canary foundNX: NX enabledPIE: No PIE (0x8047000)RUNPATH: b'/home/yyh/Desktop/lib32/lib32/'Stripped: No 浅谈附件一发下来就是patch(?)过的,很奇怪,甚至不能直接打开,我当时尝试过给他patch了一个比较低版本的libc和so(2.23),启动之后会报一个这样的错误: version GLIBC_2.34 not...
Unl1nk
0x00 前言:堆学习之路还在继续,上周末打了ACTF,被几道Pwn题吓死了,上来就是IO、内核。唉,所以还是继续慢慢往上爬吧,希望总有一天能解出XCTF联赛的Pwn题 0x01 分析:一道用来熟悉 unlink 的题目,题目是来自PolarD&N的easyhay。Checksec 一下: Arch: amd64-64-littleRELRO: Partial RELROStack: Canary foundNX: NX enabledPIE: No PIE (0x3ff000)RUNPATH: b'/home/link/glibc-all-in-one/libs/2.23-0ubuntu11.3_amd64/'Stripped: No Patch 过了,值得注意的是没开 pie,这对我们 unlink 攻击起到了关键的作用,ida 启动 以为是unosrted bin attack?经典菜单堆,看到 v3 == 4869 这个分支,先跟进一下...
强网杯 2025
0x00 前言一般路人,划水这一块 0x01 题解flag-market通过对oflag的输入能覆盖掉上面的You are so parsimonious,这样就有bss段上的格式化字符串了。接着利用这个把exit.got该成main,就制造出了无限次格式化字符串漏洞。原本程序的逻辑是碰到{之后结束循环,然后通过 memset 来清除残留的 flag ,我们直接把 memset.got 写成 puts.plt即可 from pwn import *from ctypes import *context(arch='amd64', log_level = 'debug',os = 'linux')file='/mnt/c/Users/Z2023/Desktop/flag_market/bin/chall'elf=ELF(file)context.binary = elfchoice = 0x001if choice: port= qwb = '' p...
Pwn College Kernel Security Level 1.0 ~ Level ?
0xff 前言好忙好忙,本来想做完整个模块再放上来的,但是短期内都没空做了…所以只好暂时丢上来水一下 0x00 事前准备可以参考 Pwn College Format String Exploits Level 1.0 ~ Level 9.1攻略 事前准备不过 exp 的形式不太一样了,这次是写 c 语言,应该也就用不到 python 了,所以只需要把 .ko dump 下来用 ida 逆向就行,依旧放个 scp 命令在这 scp -i ~/.ssh/key hacker@dojo.pwn.college:/challenge/babykernel_level{1.0}.ko . 因为是 kernel,所以在打题的时候还需要挂载内核模块 In order to get started on kernel challenges, you will need to run the challenges inside a virtual machine. You can start this VM done by running a command while...









