【pwnable.kr】fb】的更多相关文章

这是pwnable.kr的签到题,记录pwn入门到放弃的第一篇. ssh fd@pwnable.kr -p2222 (pw:guest) 题目很简单,登录上了ssh后,发现了3个文件:fd,fd.c,flag 首先下载fd.c #include <stdio.h> #include <stdlib.h> #include <string.h> ]; int main(int argc, char* argv[], char* envp[]){ ){ printf(&qu…
pwnable.kr 第一阶段的最后一题! 这道题目就是堆溢出的经典利用题目,不过是把堆块的分配与释放操作用C++重新写了一遍,可参考<C和C++安全编码一书>//不是广告 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct tagOBJ{ struct tagOBJ* fd; struct tagOBJ* bk; ]; }OBJ; void shell(){ s…
一道写shellcode的题目, #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/mman.h> #include <seccomp.h> #include <sys/prctl.h> #include <fcntl.h> #include <unistd.h> #define LENGTH 128 void sa…
Download : http://pwnable.kr/bin/login Running at : nc pwnable.kr 9003 先看看ida里面的逻辑. 比较重要的信息时input变量再bss段上,并且没有PIE保护,这样一来就有了一个已知的地址(这很重要 需要输入的是信息的base64编码,而input变量中存储的是输入信息base解码后的内容. 继续跟踪auth函数,发现了一个溢出. 变量v4放在ebp-8的位置,而最多会复制a1长(a1<=0xC),因此会覆盖了EBP. 尝试…
pwnable.kr第二关第一题: ========================================= Download : http://pwnable.kr/bin/bfDownload : http://pwnable.kr/bin/bf_libc.so Running at : nc pwnable.kr 9001 ========================================== 一人饮酒醉的僵尸?? 这次题目也更偏向于PWN了吧...(?)也没有源代…
pwnable的新一题,和堆分配相关. http://pwnable.kr/bin/memcpy.c ssh memcpy@pwnable.kr -p2222 (pw:guest) 我觉得主要考察的是堆块分配问题. 推荐<C和C++安全编码> 首先通过阅读源代码,看一下题目大意. // compiled with : gcc -o memcpy memcpy.c -m32 -lm #include <stdio.h> #include <string.h> #inclu…
pwnable新的一题. download: http://pwnable.kr/bin/codemap.exe ssh codemap@pwnable.kr -p2222 (pw:guest) 这道题虽然是在pwnable下,但是是一道逆向题... //前web狗膜一发二进制大佬 根据提示,需要查看 0x403E65 运行时,寄存器 EAX,EBX 的内容. 先不考虑运行的内容,先看程序.首先这个程序没有加壳,直接可以用ida查看内容. 然后可以看到程序的框架,在main函数中,默默按下F5.…
目测是比较接近pwnable的一道题.考察了uaf(use after free的内容),我觉得说白了就是指针没有初始化的问题. ssh uaf@pwnable.kr -p2222 (pw:guest) 先看一下代码 #include <fcntl.h> #include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> using namespace std…
这道题是一道一遍一遍满足程序需求的题. 网上其他的题解都是用了C语言或者python语言的本地调用,我想联系一下pwntools的远程调用就写了下面的脚本, 执行效果可以通过1~4的检测,到最后socket的检测死活连不上了,怀疑是有防火墙,对进出端口的端口号做了限制,把脚本丢到服务器上执行就可以成功了. 那和之前的别人的题解 有啥区别... 权当练习使用pwntools,而且pwntools的文档真心不错. 最后一部分第五个检测不太好用,先扔脚本当个备份吧... from pwn import…
这道题是上一个cmd1的升级版 ssh cmd2@pwnable.kr -p2222 (pw:mommy now I get what PATH environmentis for :)) 登录之后,还是审计一下源代码: #include <stdio.h> #include <string.h> int filter(char* cmd){ ; r += strstr(cmd, ; r += strstr(cmd, ; r += strstr(cmd, ; r += strstr…
最近的pwnable都是linux操作系统层面的. ssh cmd1@pwnable.kr -p2222 (pw:guest) 首先还是下载源代码: #include <stdio.h> #include <string.h> int filter(char* cmd){ int r=0; r += strstr(cmd, "flag")!=0; r += strstr(cmd, "sh")!=0; r += strstr(cmd, &quo…
pwnable.好像最近的几道题都不需要看汇编. ssh lotto@pwnable.kr -p2222 (pw:guest) 直接down下来源码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> unsigned ]; void play(){ int i; printf("Submit your 6 lotto bytes : "…
又一道pwnable nc pwnable.kr 9009 读题找到源代码在:http://cboard.cprogramming.com/c-programming/114023-simple-blackjack-program.html 第一反应是源代码这么长,还不如先玩玩看. 首先,看一下游戏规则发现和21点游戏是一样的,可能国外就叫blackjack吧. 每次,让游戏中下注,然后和电脑比赛,下注的金额不能超过所持有的金额. 这尼玛发牌函数也是随机的,就算你运气再好,算法再牛,想挣100w…
pwnable从入门到放弃又一发 说是一道pwnable,其实是一道coding... nc pwnable.kr 9007 连接上看看,玩硬币? 老子是来拿flag的,谁来哄孩子来了!!! 算了,flag要紧. 就说一堆硬币,有一个假的,比真的轻,要找出来,哄孩子我不会,二分法我会啊!! 上脚本 # coding:utf-8 from pwn import * import re def get_weight(start,end,r): #global r send_str = ""…
又一道pwnable,我还没放弃.. ssh mistake@pwnable.kr -p2222 (pw:guest) 源代码如下: #include <stdio.h> #include <fcntl.h> #define PW_LEN 10 #define XORKEY 1 void xor(char* s, int len){ int i; ; i<len; i++){ s[i] ^= XORKEY; } } int main(int argc, char* argv[…
pwnable从入门到放弃第八题. Download : http://pwnable.kr/bin/leg.cDownload : http://pwnable.kr/bin/leg.asm ssh leg@pwnable.kr -p2222 (pw:guest) 先下载这两个文件:leg.c #include <stdio.h> #include <fcntl.h> int key1(){ asm("mov r3, pc\n"); } int key2(){…
pwnable从入门到放弃第七题. ssh random@pwnable.kr -p2222 (pw:guest) 目前为止做的最快的一道题... #include <stdio.h> int main(){ unsigned int random; random = rand(); // random value! //key = 0x6b8b4567 unsigned ; scanf("%d", &key); if( (key ^ random) == 0xde…
pwnable从入门到放弃,第六题. ssh passcode@pwnable.kr -p2222 (pw:guest) 完全是‘&’的锅. #include <stdio.h> #include <stdlib.h> void login(){ int passcode1; int passcode2; printf("enter passcode1 : "); scanf("%d", passcode1); fflush(stdi…
pwnable从入门到放弃,第五题. ssh shellshock@pwnable.kr -p2222 (pw:guest) 这题主要涉及了一个关于bash的CVE漏洞. 首先还是下载源代码审计一下,shellshock.c #include <stdio.h> int main(){ setresuid(getegid(), getegid(), getegid()); setresgid(getegid(), getegid(), getegid()); system("/hom…
pwnable从入门到放弃 第四题 Download : http://pwnable.kr/bin/flag 下载下来的二进制文件,对着它一脸懵逼,题目中说是逆向题,这我哪会啊... 用ida打开看一下源代码,居然没有main函数. 继续懵逼. 对, 又一次看了别人的题解,居然是加壳的,怪不得图片就是个壳,我哪会砸壳啊??? 还好有工具,轮子大法好,用strings命令发现程序有许多“UPX”字符串,是UPX壳. 在GitHub上找了一个UPX壳砸壳自动化工具: https://github.…
pwnable从入门到放弃,第三题. Download : http://pwnable.kr/bin/bofDownload : http://pwnable.kr/bin/bof.c Running at : nc pwnable.kr 9000 很简单的一道栈溢出题目. 依然先读代码: #include <stdio.h> #include <string.h> #include <stdlib.h> void func(int key){ ]; printf(&…
pwnable从入门到放弃第二题, ssh col@pwnable.kr -p2222 (pw:guest) 同样是登录,然后看到了col.c.col.flag三个文件,读一下col.c #include <stdio.h> #include <string.h> unsigned long hashcode = 0x21DD09EC; unsigned long check_password(const char* p){ int* ip = (int*)p; int i; ;…
做到这道题的时候正赶上iPhone 8上市,撒花~(虽然不知道为啥) 程序分析: 先进到main函数,比较简单. myCart位于bss段上,是一个长度为0x10. 主要的处理函数是handler函数: 这是一个标准的菜单类题目.挨个函数看下去 list: 这个是各种手机的价格,什么都没有. 再看第二个函数: 这个函数是一个添加购物车的函数,具体采用my_read函数,得到用户输入的商品号,然后用atoi函数进行判断. my_read函数中存在一个问题,在read部分中以\0分割可以输入其他内容…
此题的代码量很大,看了一整天的逻辑代码,没发现什么问题... 整个函数的逻辑主要是红框中两个指针的循环赋值和调用,其中第一个指针是主功能函数,第二个数组是子功能函数. 函数的漏洞主要在main函数中,main函数中使用了strtol函数将用户输入转换为字符串,并根据此转换结果,对子函数进行访问. 当用户输入过大或过小时,会导致越界访问的问题,其中,strtol函数的返回值可能为负数. bss段中,用户输入的名称最开始是随机生成的,但用户可以更改.而此字段在函数指针数组上面,也就是说,用户可以通过…
突然发现已经两个月没写过WP了,愧疚- -... 此题也算一道分数很高的题目,主要考察Shellcode的编写. 又是一道题目逻辑很简单的题. 首先提供了三个函数 查看,删除,添加 查看函数: 此函数中readint()使用atoi进行解析,没有检查小于0的情况,造成越解读,可以泄露libc地址(然并卵) 添加函数中一样有这个问题,并且可以任意写, 显然是一道覆盖got表的题,并且没有开启NX保护,就是可以写shellcode. 查看一下check函数 不太清楚__ctype_b_loc是什么c…
题目逻辑比较简单,大概增加和删除和打印三个功能: show函数中,打印各日记内容,由于这题没有给出libc文件,应该不需要泄露地址,估计用处不大: delete函数中,正常的free,然后指针修改为null,可能不存在漏洞,唯一的bug在于read_int()函数中 readint函数使用了atoi函数,当输入是“-12”这样的负数时,造成读越界,但是由于在delete函数中,用处不是特别大 最后,add函数 函数的逻辑是在note数组中写入malloc的返回的指针,并且同样用了readint函…
一开始特别懵的一道题. main函数中一共4个功能,openfile.readfile.writefile.closefile. 其中,在最后退出时有一个明显的溢出,是scanf("%s",&name); name位于bss段上,name下面有一个fp用于存储文件指针,可以被覆盖. 再看其他函数: openfile.只有一个简单的输入并打开,保存文件指针在bss段上的fp变量中: readfile,从fp所指的文件中每次读取0x18F字节字节到magicbuf中,这个变量也在b…
首先查看源代码: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/mman.h> #include <seccomp.h> #include <sys/prctl.h> #include <fcntl.h> #include <unistd.h> #define LENGTH 128 void sandbox(){…
搜索软件V1.0 [附软件截图][http://pan.baidu.com/s/1mihEbe4] 设备搜索:支持广播搜索[local search],指定ip[range search]搜索,直接web[web browser]访问,以及telnet[command line]功能:telnet 默认为23端口; 实现搜索udp固定包头的设备或者pc机,点击对应的ip,可以直接进行网页或者telnet 登陆.最初设计网页登陆框模拟qq的登陆界面,免去用户名密码的麻烦,但是因为调用webserv…
作为一个开发者,数据的存储,用户的登陆,验证等操作,对程序来说是必不可少的,下面我们将从Bmob的基本信息开始讲起: [Bmob] 官网:   http://www.bmob.cn/ 帮助文档:http://www.bmob.cn/site/getdocs 基本操作:http://docs.bmob.cn/android/faststart/index.html?menukey=fast_start&key=start_android SDK下载: http://www.bmob.cn/site…