草庐IT

攻防战

全部标签

攻防世界WEB练习-inget

前言作者简介:不知名白帽,网络安全学习者。博客主页:https://blog.csdn.net/m0_63127854?type=blog攻防世界专栏:https://blog.csdn.net/m0_63127854/category_11983747.html网络安全交流社区:https://bbs.csdn.net/forums/angluoanquan目录题目场景尝试SQL注入尝试sqlmap注入找到flag题目场景尝试SQL注入?id=1'and 1=1---?id=1'and 1=2---?id=1'or1=2---都均无回显?id=1'or1=1---回显出flagPleasee

攻防世界 repeater 题解

攻防世界repeater题解查看程序保护情况,开启了PIE,没开NX,RELRO全开。在ida64中打开分析程序,这道题程序比较简单。可以发现的信息如下:字符数组s大小为0x20,但可以读入0x40的长度,起始于rbp-30h处(见红框)变量v5可以控制循环、条件控制输出main函数地址,该变量位于rbp-20h字符数组s空间后(见粉框)通过字符串s溢出可控制变量v5的值及函数返回地址程序运行起始可输入数据到内存BSS段(见蓝框)根据这些信息,这道题的思路就出来了:程序起始运行,提示输入name时,输入一段shellcode(将存储到byte_202040处)通过字符串s溢出控制变量v5的值为

攻防世界 repeater 题解

攻防世界repeater题解查看程序保护情况,开启了PIE,没开NX,RELRO全开。在ida64中打开分析程序,这道题程序比较简单。可以发现的信息如下:字符数组s大小为0x20,但可以读入0x40的长度,起始于rbp-30h处(见红框)变量v5可以控制循环、条件控制输出main函数地址,该变量位于rbp-20h字符数组s空间后(见粉框)通过字符串s溢出可控制变量v5的值及函数返回地址程序运行起始可输入数据到内存BSS段(见蓝框)根据这些信息,这道题的思路就出来了:程序起始运行,提示输入name时,输入一段shellcode(将存储到byte_202040处)通过字符串s溢出控制变量v5的值为

攻防世界 new_easypwn 题解

攻防世界new_easypwn题解程序分析查看程序基本情况,如图,该程序是64位程序,开启了Canary、NX、PIE保护。使用ida64打开分析程序,该程序是个电话录之类的,可以添加、删除、查看、修改通讯录。在查看函数这里发现存在字符串格式化漏洞,如图红框中标注所示。其中图中地址unk_2020E0+32*v1为用户输入的电话号码内容,如图(添加功能程序)标注出来的部分。其中下图中的dword_2020BC与上图中的v1都是索引(0,1,2,3),只是后者为用户输入选择的索引,前者为程序记录的电话录计数器。unk_2020E0为通讯记录存储基址,phone信息存储在对应记录起始地址处,大小为

攻防世界 new_easypwn 题解

攻防世界new_easypwn题解程序分析查看程序基本情况,如图,该程序是64位程序,开启了Canary、NX、PIE保护。使用ida64打开分析程序,该程序是个电话录之类的,可以添加、删除、查看、修改通讯录。在查看函数这里发现存在字符串格式化漏洞,如图红框中标注所示。其中图中地址unk_2020E0+32*v1为用户输入的电话号码内容,如图(添加功能程序)标注出来的部分。其中下图中的dword_2020BC与上图中的v1都是索引(0,1,2,3),只是后者为用户输入选择的索引,前者为程序记录的电话录计数器。unk_2020E0为通讯记录存储基址,phone信息存储在对应记录起始地址处,大小为

攻防世界 pwn1 题解

攻防世界pwn1题解下载附件,file命令识别文件为64位,checksec命令查看程序保护情况,如图,有Canary和NX保护。在ida64中打开程序,程序的主要功能有两个:存储用户输入的字符串内容打印用户输入的字符串内容特别的注意到,字符串数组大小为136(0x88),而read运行的最大输入大小为0x100,如图中红色框标注,因此可能存在栈溢出。同时puts可以将输入打出,因此可以想到借此泄露出canary值。在汇编程序40091C地址处,可以看到canary值保存在rbp上8字节处(即紧邻rbp)。GCC的canary,x86_64下从fs:0x28偏移处获取,32位下从gs:0x14

攻防世界 pwn1 题解

攻防世界pwn1题解下载附件,file命令识别文件为64位,checksec命令查看程序保护情况,如图,有Canary和NX保护。在ida64中打开程序,程序的主要功能有两个:存储用户输入的字符串内容打印用户输入的字符串内容特别的注意到,字符串数组大小为136(0x88),而read运行的最大输入大小为0x100,如图中红色框标注,因此可能存在栈溢出。同时puts可以将输入打出,因此可以想到借此泄露出canary值。在汇编程序40091C地址处,可以看到canary值保存在rbp上8字节处(即紧邻rbp)。GCC的canary,x86_64下从fs:0x28偏移处获取,32位下从gs:0x14

攻防世界web 难度1新手练习

unsepingmethod=$method;$this->args=$args;} //魔法函数,该函数会在类的一个对象被删除时自动调用function__destruct(){if(in_array($this->method,array("ping"))){call_user_func_array(array($this,$this->method),$this->args);//回调函数,可以将把一个数组参数作为回调函数的参数call_user_func_array($fun,$arr);}}functionping($ip){exec($ip,$result);var_dump($r

攻防世界web 难度1新手练习

unsepingmethod=$method;$this->args=$args;} //魔法函数,该函数会在类的一个对象被删除时自动调用function__destruct(){if(in_array($this->method,array("ping"))){call_user_func_array(array($this,$this->method),$this->args);//回调函数,可以将把一个数组参数作为回调函数的参数call_user_func_array($fun,$arr);}}functionping($ip){exec($ip,$result);var_dump($r

攻防世界pwn题:实时数据检测

0x00:查看文件一个32位的文件,canary、NX、PIE保护机制均关闭。 0x01:用IDA进行静态分析程序很简单,输入一串字符(个数限制:512),然后再输出。最后根据key变量进行条件语句执行。在imagemagic函数中用printf(format)进行输出,大概率有格式化字符串漏洞。因为key的地址在bss段:0x0804A048,所以试试用格式化字符串漏洞进行覆盖。 检测一下是否可以对随意地址进行覆盖:有重复的,位于第12个参数。重复的原因是因为s是定义在了栈上。payload=p32(key_addr)+b'%035795742d'+b'%12$n'将key的地址写在第一位,