sniperoj-pwn100-shellcode-x86-64 23 字节 shellcode "\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05" 首先根据 gdb 确定偏移,然后把因为有个 leave 指令会破坏前面的,所以前面的填充为脏数据,然后加上返回地址占据的 8 位空间,确定在 buf_addr 后面 24+8 填充 shellcode…
目录 [二进制漏洞]PWN学习之格式化字符串漏洞 Linux篇 格式化输出函数 printf函数族功能介绍 printf参数 type(类型) flags(标志) number(宽度) precision(精度) length(类型长度) n$(参数字段) 格式化字符串漏洞 格式化字符串漏洞原因: 漏洞利用 使程序崩溃(测试) 栈数据泄露(堆栈读) 获取栈变量数值 获取栈变量字符串 堆栈读总结 栈数据覆盖(堆栈写) 覆盖变量 任意地址内存泄漏(任意读) 任意地址内存覆盖(任意写) 覆盖小数(小于…
碎碎念 咕咕咕了好久的Pwn,临时抱佛脚入门一下. 先安利之前看的一个 Reverse+Pwn 讲解视频 讲的还是很不错的,建议耐心看完 另外感觉Reverse和Pwn都好难!! 不,CTF好难!! 之前学C的时候了解过gets()函数很危险 一般笔者会使用如下代码代替gets() scanf("%[^\n]%*c",a); 学了Pwn更直观地感受到了这一点 关于scanf的更多用法详见 https://blog.csdn.net/jeffasd/article/details/807…
偶然得到这个平台,发现是BIT的CTF平台,应该是平时的阶段性的训练题目.看了看题,其他方向的题目感觉都是入门题,但是pwn题目,发现还是比入门题难一点点的,来记录一下. pwn1 栈上任意位置的读写操作,只能一字节一字节读写,算好偏移,还是挺好做的. 比较坑的是,远程的libc被改了,用one_gadgets打的时候,明明可以拿到shell,但是不给flag!真是可恶!!! 做题思路:泄露libc基地址,泄露pie程序基地址,把返回地址覆盖成pop_rdi,binsh,system,拿shel…
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 拿到路由器的固件后,第一时间肯定是去运行目标程序,一般是web服务程序.我们可以去 /etc/init.d/ 找启动文件,或者看看一些有可能的目录.一般来说路由器的程序很少的情况下是可以直接用qemu运行起来的.我们需要做一些修复的工作,本文会介绍一个常用的方法,后面会分析在 mips uclibc 中常用的 rop 手法. 正文 运行环境修复 由于路由器运行时会…
目录 PWN二进制漏洞学习指南 前言 前置技能 PWN概念 概述 发音 术语 PWN环境搭建 PWN知识学习途径 常见漏洞 安全机制 PWN技巧 PWN相关资源博客 Pwn菜鸡小分队 PWN二进制漏洞学习指南 前言 最近准备学PWN,所以买了<CTF权威指南(PWN)篇>的书粗略的看完后,在这里做个学PWN需要掌握的知识指南,如有补充欢迎评论. 前置技能 首先我觉得要学习PWN还是要有一定基础的,因为PWN毕竟是和系统底层知识打交道,所以我觉得应该具备如下的一些技能,并且我推荐了一些不错的书籍…
网络攻防大作业学习方向思路 一直对CTF比赛有参与的兴趣,但由于课程比较多,一直没有足够的时间系统的去了解与训练.所以我想利用接下来的几周时间对CTF比赛经行练习.并找到自己所擅长或感兴趣的方向深入研究下去,在自己暑假或研二时光可以参加比赛,以赛代练. CTF 竞赛内容 因为 CTF 的考题范围其实比较宽广,目前也没有太明确的规定界限说会考哪些内容.但是就目前的比赛题型而言的话,主要还是依据常见的 Web 网络攻防. RE 逆向工程. Pwn 二进制漏洞利用. Crypto 密码攻击. Mobi…
本篇blog首发0xffff论坛(CTF:从0到1->zero2one - 0xFFFF),中间有各位大佬补充,搬到了个人博客CTF:从0到1 -> zero2one | c10udlnk_Log这里,在博客园这边也放一下hahah.是一点CTF的入门心得吧,希望能给想玩CTF的小朋友们一点帮助. 起文章名的时候没想太多光想着把to->2用上去,撞名都是我的锅(捂头 这里还只是个划水摸鱼的萌新(捂头)有什么写错的地方烦请大佬们多多补充谢谢0v0 持续更新ing... 0x01 关于CTF…
[pwn]学pwn日记--栈学习(持续更新) 前言 从8.2开始系统性学习pwn,在此之前,学习了部分汇编指令以及32位c语言程序的堆栈图及函数调用. 学习视频链接:XMCVE 2020 CTF Pwn入门课程.[星盟安全]PWN系列教程(持续更新) 学习文章链接:CTF Wiki 文章内题目连接(带exp.py):pwn题目 elf文件 未初始化的全局变量glb,编译出来在内存中bss中 初始化的全局变量str(没有被修改过),编译出来在内存中data 而hello world在text段中…
0x00      Preview Last few passage I didn't conclude some important points and a general direction of the learning route of PWN. I browser some passages and finally I found one maybe suitable and reasonable for most PWN lovers: 0x01  Integer Overflow…
本来以为应该能出一两道ctf的pwn了,结果又被sctf打击了一波. bufoverflow_a 做这题时libc和堆地址都泄露完成了,卡在了unsorted bin attack上,由于delete会清0变量导致无法写,一直没构造出unsorted bin attack,后面根据wp发现只要修改一下free的顺序就行了. 这题的主要功能如下: 正常的堆题模板,1是申请堆,2是删除堆,3是写刚申请的堆,4是输出刚申请的堆的内容,5结束. 首先泄露libc的地址,申请堆只能申请0x7f到0x100…
目录 漏洞利用原理 具体利用步骤 漏洞利用原理 read(, &s, 0x20uLL); if ( strstr(&s, "%p") || strstr(&s, "$p") )//只判断字符串中是不是有地址格式字符p { puts("do you want to leak info?"); exit(); } printf(&s, "$p");//没有的话,就能利用格式化字符串漏洞了 漏洞利用步…
0x00.准备题目 例如:level.c #include <stdio.h> #include <unistd.h> int main(){ char buffer[0x10] = {0}; setvbuf(stdout, NULL, _IOLBF, 0); printf("Do your kown what is it : [%p] ?\n", buffer); printf("Now give me your answer : \n")…
一.函数调用栈过程总结 Fig 1. 函数调用发生和结束时调用栈的变化 Fig 2. 将被调用函数的参数压入栈内 Fig 3. 将被调用函数的返回地址压入栈内 Fig 4. 将调用函数的基地址(ebp)压入栈内,并将当前栈顶地址传到 ebp 寄存器内 二.函数调用栈实例说明 首先我们来看看以下程序调用栈的过程: int sum(int a,int b) { ; temp = a+b; return temp; } int main() { ; ; ; ret = sum(a,b); cout<<…
CTF练习平台 http://hackinglab.cn/ 网络信息安全攻防学习平台 http://captf.com/ ctf题目 http://oj.xctf.org.cn/ XCTF_OJ练习平台 http://ctf.3sec.cn/ Jlu.CTF http://www.baimaoxueyuan.com/ctf 白帽学院ctf挑战赛 http://www.ichunqiu.com/tiaozhans i春秋ctf挑战 http://ctf.idf.cn/ IDF实验室 http://…
练习CTF清单/永久CTF清单 以下列出了一些长期运行的CTF实践站点和工具或CTF.谢谢,RSnake用于启动这是基于的原始版本.如果您有任何更正或建议,请随时通过dot com tld在域psifertex上发送电子邮件至ctf. 在线直播游戏推荐 无论是更新,包含高质量的挑战,还是只是有很多深度,这些都可能是您想要花费最多时间的地方. http://pwnable.kr/(最近最流行的一系列战争挑战) https://picoctf.com/(专为高中生设计,而活动通常每年都是新的,它已经…
源码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> void setbufs() { setvbuf(stdout, 0, 2, 0); setvbuf(stdin, 0, 1, 0); setvbuf(stderr, 0, 1, 0); } int main() { char tips[]="suuuuuuuper easy test."; char buf[32]; int…
本文首发于“合天智汇”公众号 作者:淡灬看夏丶恋雨 古典密码和现代密码的区别: 代换密码 单表代换密码 字符或数学型 凯撒密码 仿射密码 四方密码 培根密码 图表 标准银河字母 圣堂武士密码 猪圈密码 当铺密码 跳舞的小人密码 多表代换密码 希尔密码 维吉尼亚密码 棋盘密码(Polybius) 普莱费尔密码(playfair) Nihilist密码 Keyboard密码 移位密码 栅栏密码 云影密码 简单位移密码 曲路密码 4.CTF crypto线下工具推荐 古典密码和现代密码的区别: 古典密…
网络编程问题往往涉及二进制数据的传输.在C++经常使用的传输是文本字符串和分组结构. 假设该数据可以预先送入连续的内存区域,然后让send函数来获得的第一个地址,这一块连续的内存区就能完成传输数据.文本字符串,如char排列,字节.中是顺序存储的.所以能够直接用send函数发送. 可是假设要同一时候发送多个不同类型的数据时,它们在内存中存储的地址是随机的,不是顺序存储的,并且它们之间的相对位置也无法确定.这样就须要一种数据组织方式来明白各数据之间的相对位置.结构体显然就是一种的数据组织方式,使用…
公司内部有很多部门都创建了Wiki库,来做知识共享.公司是Hosting的SharePoint环境,不能写服务器端代码,要操作Wiki只能通过Web Service来完成,所以,碰到两个情况: 1)Wiki库中已经有了几百篇的文章,文章中有些文字需要更新,几百篇文章手动更新肯定累死: 2)有人想写个程序,自动将包含图片的Word文档内容新建成Wiki: 说白了,其实就是如何使用SharePoint Web Service来新建和更新Wiki页面. 在SharePoint里面,Wiki虽然也可以看…
上一篇:Python For嵌套循环 图形打印X型 nested loop - 练习题 上一篇留的Python For嵌套循环 图形打印X型练习题的答案. 由于网上很多嵌套循环都是C++语言写的,用Python也来尝试下吧. 输出结果: O.....O .O...O. ..O.O.. ...O... ..O.O.. .O...O. O.....O Python3.6代码: for line in range(0,3): for star in range(line): print("."…
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 这次程序也是 DVRF 里面的,他的路径是 pwnable/ShellCode_Required/stack_bof_02 , 同样是一个简单的栈溢出,不过这个程序里面没有提供 getshell 的函数,需要我们执行shellcode来实现.这个正好实战下前文: 一步一步pwn路由器之路由器环境修复&&rop技术分析,中分析的在mips下的通用的rop技术.…
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 这个是最近爆出来的漏洞,漏洞编号:CVE-2017-13772 固件链接:http://static.tp-link.com/TL-WR940N(US)_V4_160617_1476690524248q.zip 之前使用 firmadyn 可以正常模拟运行,但是调试不了,就没有仔细看这个漏洞.今天突然想起 他会启动一个 ssh 服务,那我们是不是就可以通过ssh…
用JSP从数据库中读取二进制图片并显示在网页上 环境mysql+tomcat: 先在mysql下建立如下的表. 并存储了二进制图像(二进制格式存储图片可以参考我的另一篇博客:https://www.cnblogs.com/ming-4/p/11869825.html) mysql命令如下: CREATE TABLE photo ( photo_no ) unsigned NOT NULL auto_increment, image blob, PRIMARY KEY (`photo_no`) )…
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483842&idx=1&sn=1ef1cb06ab98e86f9de595e117924db9&chksm=e9fdd436de8a5d20bf0625b61c3f4369d826691340d97caa3258d828cfc4e21302f9b80250c0&cur_album_id=1341273083637989377&sc…
下载方式 根据你的操作系统下载不同的 BiliDrive 二进制. 执行: bilidrive download <link> 链接 文档 链接 Webpack 中文指南.epub (409.01 KB) bdrive://ce58b7b58292296a61a97de1f89c62b66da24ab6 OpenIntro Statistics 3e.pdf (7.17 MB) bdrive://ef01910ee34f0a1c91d9435f750a49c6ac1bc5fa AngularJ…
以下所列出的链接均为在线文档,有志于信息安全的爱好者可由此作为入门指南. 背景知识 常规知识 Sun认证-Solaris 9&10安全管理员学习指南 PicoCTF资料 应用软件安全 OWASP安全编码规范 漏洞挖掘 Windows ISV软件安全防御 移动安全 OWASP十大移动手机安全风险 网络安全 常规网络攻击类型 逆向工程 华盛顿大学:硬件/软件接口 伦敦大学:恶意软件和地下产业——一个巴掌拍不响 Web安全 OWASP十大Web应用安全风险 在线课程 多学科课程 ISIS实验室黑客之夜…
本文系原创,转载请说明出处 本文为基于CTF WIKI的PWN学习 0x00 格式化字符串原理 先附一张经典的图,如下 其栈上布局如下: some value 3.14 123456 addr of "red" addr of format string : " Color %s, Number %d, Float %4.2f" 如果程序写成了: printf("Color %s, Number %d, Float %4.2f"); 分别将栈上的…
本文系pwn2web原创,转载请说明出处 UAF 漏洞,英文原名use after free,该漏洞简洁的可以概括为 分配一块内存 free该内存但不回收,构成悬垂指针 再次构造分配同样大小的内存,按照malloc分配原则将会是将第一次分配的内存给这块新的 对新的内存进行use 一    前言 首先我们以一道题来介绍一下UAF,这里选用hitcon training lab10 作为例子,源码太多,占篇幅,试题.源码详情请见的GitHubhttps://github.com/scwuaptx/H…
*Reverse easy_C easy_re1.exe 在网络百度到解决逆向需要用到软件IDA 然后用IDA打开一条条的找我找到了一条很怪的ZmxhZ3s1ZWU1ZjYyOC1mMzVhLTQxNzktODg1Yi1hYzRiMjkxNTg然后失败了,当时试过很多还解码了,以为是加密的然后不对在重新看看了IDA看到后面还有一小段这个1NTl9,把他+上就对了 .然后给他加上flag{ZmxhZ3s1ZWU1ZjYyOC1mMzVhLTQxNzktODg1Yi1hYzRiMjkxNTg1NTl…