![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pwn
neuisf
这个作者很懒,什么都没留下…
展开
-
Kali 2020.1安装IDA Pro
0x1 更新源0x2 dpkg --add-architecture i386 关键一步;0x3 apt-get install libglib2.0-0:i386 解决运行ida时的libgthread-2.0-0.so;0x4 下载IDA Pro for Linux,解压。原创 2020-04-01 13:44:01 · 3958 阅读 · 0 评论 -
Kali 安装pwndbg
0x1 源代码安装gdb,下载地址:www.gnu.org/software/gdb/do0x2 sudo apt-get upgrade0x3 下载安装pwndbggit clone https://github.com/pwndbg/pwndbgcd pwndbgsudo #./setup.sh0x4 可能会出现部分依赖软件无法下载情况,需手动下载安装,如ROPgadget等0...原创 2020-03-31 12:38:09 · 2840 阅读 · 0 评论 -
Kali安装peda
1.git clone https://github.com/longld/peda.git ~/peda2.echo “source ~/peda/peda.py” >> ~/.gdbinit原创 2020-03-04 16:19:41 · 1472 阅读 · 0 评论 -
XCTF PWN高手进阶区之babystack
此题,开启了RELRO、NX、CANARY,未开启PIE,只有read函数溢出存在溢出可能。第一,泄露canary,程序会通过puts函数输出缓冲区s的内容。puts函数在输出时,只有遇到\0才会结束,而缓冲区s又和main函数的canary相连,此时,输入和缓冲区大小相等的字符串,溢出的\n将会覆盖canary的第一字节00,从而将canary的后三个字节输出,构建canary。第二,获取s...原创 2020-01-30 12:49:58 · 476 阅读 · 0 评论 -
XCTF PWN高手进阶区之pwn-200
此题,setbuf未发现有什么作用!exp:from pwn import *sub_addr=0x8048484def leak(addr):payload=‘a’*112+p32(write_plt)+p32(sub_addr)+p32(1)+p32(addr)+p32(4)p.sendline(payload)return p.recv()[:4]p=process("./p...原创 2020-01-29 21:43:39 · 639 阅读 · 0 评论 -
XCTF PWN高手进阶区之time_formatter
这是第一道堆溢出题目,程序执行选项1时,通过strdup函数申请了一块内存保存用户输入的时间格式字符串,执行选项三时,同样 通过strdup申请了一块内存用于存放用户输入的时区字符串,执行选项五时,首先释放这两块内存,然后,询问是否真的退出,此时,用户选择不退出时,程序继续回到开始执行。而此时,前两块申请的内存已被释放,未将指针置为NULL。造成UAF漏洞。由于选项一读取用户输入内容时,会过滤...原创 2020-01-29 16:53:10 · 349 阅读 · 0 评论 -
XCTF PWN高手进阶区 之 js
本题程序名为js,随便输入字符串,发现:输入字符串会打印该字符串;输入数字时会以科学计数法打印该数字;输入加法算式会打印加法计算结果;输入!1会打印false,输入!0会打印true;输入js_fuck的命令:提示eval函数执行时引用错误。因此,推断程序执行是以输入为参数,调用eval运行。于是:输入print,打印print函数:输入read,打印read函数:1...原创 2020-01-28 18:37:44 · 300 阅读 · 0 评论 -
XCTF PWN高手进阶区之JS
本题程序名为js,随便输入字符串,发现:输入字符串会打印该字符串; 输入数字时会以科学计数法打印该数字; 输入加法算式会打印加法计算结果; 输入!1会打印false,输入!0会打印true; 输入js_fuck的命令:提示eval函数执行时引用错误。因此,推断程序执行是以输入为参数,调用eval运行。于是:输入print,打印print函数: 输入read,打印re...原创 2020-01-27 19:57:51 · 372 阅读 · 0 评论 -
xctf pwn高手进阶题之stack2
程序读取一个数字n,然后根据数字n读取数字到缓冲区,在执行需修改操作时为判断是否越界,而是根据用户输入的数字进行修改,造成堆栈地址内容修改。只需修改返回值即可。此题提供了hackhere函数输出flag,本地执行正常,远程出错,提示找不到/bin/bash。此处,技巧是执行system(’sh’)代替system(’/bin/sh’)。exp:from pwn import *p=remot...原创 2020-01-25 21:39:24 · 308 阅读 · 0 评论 -
xctf高手进阶题之pwn-100
此题重点为DynELF函数的使用。在函数 sub_40068E()中声明了一个大小为0x40的缓冲区,然后通过函数sub_40063D((__int64)&v1, 0xC8u);读取标准输入内容到该缓冲区,读入的长度为0xC8,大于缓冲区大小0x40,存在溢出漏洞。可以通过溢出后覆盖函数的返回地址:1.输出got表的函数地址;2.向可写段地址写入字符串"/bin/sh"。 ...原创 2020-01-25 13:31:20 · 659 阅读 · 0 评论 -
xctf高手进阶第二题 Mary_Morton
启动运行时输出提示有三个选项,分别是:1.缓冲区溢出漏洞;2.格式化字符串漏洞;3.退出。 解题方法:因为缓冲区溢出在main函数中,利用格式化字符串漏洞读取main函数的canary,利用缓冲区溢出运行0x4008DA处的system (/bin/cat flag)指令。 exp: from pwn import * p=remote('111.198.29.45'...原创 2020-01-23 20:06:32 · 386 阅读 · 0 评论 -
xctf高手进阶第一题
首先,fgets读取v13,然后scanf读取v2,通过程序条件判断发现,输入a@a.aaaaaaa时,程序会执行到v12,覆盖v12即可调用指定地址的函数。在做题时,进入误区,自己构造system栈帧,结果一直失败,可能有的地方计算错误。writeup里的方法是直接调用后门函数0x80486cc处的函数,直接输出flag。这个后门函数在IDA Pro中没有显示,可以通过objdump -d ....原创 2020-01-23 20:00:28 · 217 阅读 · 0 评论 -
xctf pwn 新手练习题总结
所谓总结,就是再做一遍!以达到熟能生巧之境界!0x01 level0解题思路:ret2text1.checksec ,文件为amd64位格式,进开启可NX;2.IDA Pro F5反编译,main程序调用vulnerable_function,vulnerable_function中调用read读取用户输入,存在缓冲区溢出;3.程序代码中由callsystem函数,运行systerm...原创 2020-01-21 20:26:04 · 796 阅读 · 0 评论 -
xctf学习之intoverflow
此题题目为intoverflow,提示整数溢出,IDA阅读伪代码,发现Success条件是输入password长度为[3,8),而要程序中有个函数what_is_this,功能是cat flag,所以要想获取flag,需要让程序运行此函数,而程序的运行并没有调用此函数,因此,必须溢出。存储输入password长度的变量是短整型,即8位二进制数,范围[0,255],当值大于255时,发生溢出,如25...原创 2020-01-11 21:25:22 · 509 阅读 · 0 评论 -
Kali安装ROPgadget
ROPgadget在Pwn中用于搜索汇编指令和字符串,安装方法:1.安装python-capstone:apt-get install python-capstone2.下载安装文件:git clone https://github.com/JonathanSalwan/ROPgadget.git3.进入目录 :cd ROPgadget4.运行安装脚本: python setup.py d...原创 2020-01-11 18:54:02 · 2275 阅读 · 0 评论 -
Pwnable.kr学习之cmd2
此题考察内容:linux下(command)的使用,可以用于将command执行的结果作为命令交给shell执行。如:(command)的使用,可以用于将command执行的结果作为命令交给shell执行。如:(command)的使用,可以用于将command执行的结果作为命令交给shell执行。如:(pwd) 的效果为致性’/’,这不是命令故,报错。再如:当前目录为根目录/,此时 $(pwd...原创 2020-01-10 20:16:47 · 129 阅读 · 0 评论 -
pwnable.kr学习之cmd1
看题目,Mommy! what is PATH environment in Linux?,联想到题目shellshock利用环境变量执行命令的技巧,尝试了多次,如:./cmd1 pwd &"env X={ : ;} PATH='/bin/sh' bash /bin/sh" 和./cmd1 &a但是,会输出奇怪的内容:第一条命令输出:[1] 84342-bash...原创 2020-01-05 17:51:22 · 133 阅读 · 0 评论 -
xctf之level3
未调试,可能由错误!from pwn import *from LibcSearcher import *p=process('./level3')elf=ELF("./level3")write_plt=elf.plt["write"]read_plt=elf.plt["read"] #0x8048310print "readplt:"+str(hex(read_plt))...原创 2020-01-04 10:04:19 · 772 阅读 · 0 评论 -
安装LibcSearcher的方法
在练习Pwn过程中,要用到python的一个库,叫做LibcSearcher,安装方法如下:1.git clone https://github.com/lieanu/LibcSearcher.git2.cd LibcSearcher3.python setup.py install4.直接运行python exp.py会提示“No module named LibcSearche...原创 2020-01-04 09:09:01 · 11382 阅读 · 1 评论 -
xctf-pwn 之guess_num
未解出!经过最近几道题,发现自己思路不够开阔,不能做到应变。此题考查内容:伪随机数可预测。解题方法:通过IDA反编译后,F5获得伪代码,通过阅读伪代码,理清程序结构,找到破解关键:使用随机数生成数字。如果已知随机数种子,就可以提前知道随机数的值。可以通过溢出覆盖种子值。...原创 2019-12-30 19:46:54 · 302 阅读 · 0 评论 -
Pwnable.kr学习之blackjack
此题未作出,首先尝试按照提示下载源代码,发现网站拒绝访问。于是,我认定题目有问题,放弃!参考writeup后,发现并不需要源代码,此题考查的是求异思维:既然赢一次比较难,要看运气,那么故意输的话则概率大得多。如果看到这你想到了什么,就不要看下面,自己试一下。看来你和我一样懒:当...原创 2019-12-30 19:17:34 · 154 阅读 · 0 评论 -
xctf-pwn 之string
此题未解出来,参考writeup后总结如下。解题思路: 漏洞点在"give me a address“处,通过IDA反编译后,F5生成C伪代码,分析数据流,发现运行shellcode的条件:*a1==a1[1]。a1为整形指针(见函数参数声明),指向secret 0,a1[1]指向secret 1(见main函数)。通过格式化字符串任意地址写入漏洞使之相等,再利用pwntool...原创 2019-12-29 18:57:30 · 828 阅读 · 1 评论 -
Pwnable.kr学习之coin1
考察知识点:1.python基本编程;2.远程linux服务器目录/tmp的利用;3.二分查找算法解题过程:a.按照提示,nc pwnable.kr 9007连接服务器,服务器返回游戏玩法提示信息,即根据N(总数量)和C(测试次数)寻找一堆球里面一个重量jiao小的球(重量为9,其余重量为10),时间限制为30秒;b.显然,使用二分法查找,函数结构为迭代,利用pwntool...原创 2019-12-29 11:04:35 · 276 阅读 · 0 评论