[BUUCTF]PWN——[Black Watch 入群题]PWN】的更多相关文章

[Black Watch 入群题]PWN--栈劫持 入群题密码在 /password.txt Ubuntu 16 2020年02月27日:此入群题已作废,请看新版入群题. 附件 解题步骤: 例行检查,32位程序,开启了nx保护 运行一下程序,两次输入,测试时发现输入长度过长,会报错 32位ida载入,首先shift+f12查看一下程序里的字符串,没有system函数和'/bin/sh'的字符串,这边需要我们自己去想办法构造system('/bin/sh') 从main函数开始看程序 主要部分在f…
stega -- Pcat老入群题 Pcat师傅的题果然给力,就是看着wp也是琢磨了半天. WP地址:http://mp.weixin.qq.com/s/T9jJLACiZNB6FR226IjmEA 用到的相关工具这里可以下载到 http://www.cnblogs.com/Chesky/p/ALTERNATE_DATA_STREAMS.html 简单描述解题过程: 首先解压rar,这里就要注意了,只能用winrar解压,我用的7zip一通操作,没搞出来,用notepad++打开一直是空的,一度…
开源博客Q群 群名:<嗨-博客> 群号:469075305(已满) 491585006(New) 群简介:“我们每个猿都有一个搭建自己独立博客的梦”. 入群要求: 您可以是HR,私聊管理员以群公告的形式发布招聘信息. 您也可以是“猿/媛”,只要感兴趣就可以. 入群须知: 进群 请先改 名片:尽量用博客园的 昵称+地址.如 敷衍不起(上海). 本群主要是聚集一些对搭建和维护“个人博客”.“个人网站”.“SEO”等感兴趣的同学. 如果您对“嗨-博客”感兴趣,同样欢迎您的加入. .NET高级Q群 群…
QQ群985135948入群密码:键盘第三排从左往右依次按过去,就是密码 点下面这个键应该可以进群哦!…
在凤凰网看到一篇文章:微信群二维码也能“整人”,99%的好友会中招!感觉挺好玩,所以自己也想做一个! 冷静分析…
C#反射的应用 Dapper轻量级ORM框架,不能根据主键ID获取实体,及不能根据主键ID删除记录,所以这里记录自己封装的一个方法来实现这个功能 /// 根据主键Id删除记录(包含根据主键获取记录) /// </summary> /// <typeparam name="T1"></typeparam> /// <param name="Id"></param> public virtual bool De…
为了确保不被通过搜索引擎直接搜索题目搜出来,我重新描述下题目: 给n, 求1~n的每个数的约数和 每个约数出现的个数是 n // i个, 出现x次的约数范围是[n // (i + 1) + 1, n // i] def my_sum(n): res = 0 for i in range(1, int(n**0.5) + 1): res += n // i * i j = n // i k = n // (i + 1) if j != i: res += (j + k + 1) * (j - k)…
这道题的关键点在于对位操作符“~”的理解,以及内部的具体实现(设计到补码) 最后的结果是:2019 参考文章: http://www.w3school.com.cn/js/pro_js_operators_bitwise.asp http://baike.baidu.com/link?url=vjQq5-83gWDTDHomD1zSKNbgtVbH9-_mBASxaMWXzoYIsOlAzgx6Lew51WLgsPAK5SohLVrmpfKmlZbwMDzx1_#reference-[1]-37…
get_started_3dsctf_2016 关键词:ROP链.栈溢出.mprotect()函数 可参考文章(优质): https://www.cnblogs.com/lyxf/p/12113401.html #!python #coding:utf-8 from pwn import * from LibcSearcher import * context.log_level = 'debug' #context.arch = 'i386' elf = ELF('./get_started_…
[BUUCTF-Pwn]刷题记录1 力争从今天(2021.3.23)开始每日至少一道吧--在这里记录一些栈相关的题目. 最近更新(2021.5.8) 如果我的解题步骤中有不正确的理解或不恰当的表述,希望各位师傅在评论区不吝赐教!非常感谢! [OGeek2019]babyrop /dev/random和/dev/urandom是unix系统提供的产生随机数的设备,先产生一个随机数 输入放到buf里,然后与随机数比较,不等的话程序就结束了,于是将输入的第一个字母弄成'\0',以绕过strncmp 后…
一道关于Data URI Scheme的入门级CTF_Web题 0x00 题目描述 这是偶尔遇到的某网安交流群的入群题,题目没有任何的提示,直接给了一个txt文件. 0x01 解题过程 通过给的这个文件的名字,大致可以猜测和图片有关.我们先打开这个文本文件看看这里面有什么. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAAAoCAIAAAAaOwPZAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcE…
GDB分析ELF文件常用的调试技巧 gdb常用命令 首先是gbd+文件名 静态调试 ,gdb attach +文件名 动态调试 为了方便查看堆栈和寄存器 最好是安装peda插件 安装 可以通过pip直接安装,也可以从github上下载安装 $ pip install peda $ git clone https://github.com/longld/peda.git ~/peda $ echo "source ~/peda/peda.py" >> ~/.gdbinit 命…
MIPS Pwn writeup Mplogin 静态分析   mips pwn入门题. mips pwn查找gadget使用IDA mipsrop这个插件,兼容IDA 6.x和IDA 7.x,在IDA 7.5中解决方案可以参考这个链接:https://bbs.pediy.com/thread-266102.htm 程序流程比较简单,输入用户名和密码进行登录操作. 漏洞存在在vuln函数中,buf只有20字节的空间,但是read函数填充了36字节的数据,覆盖了栈内变量length,将length…
因为以前做过一些题目,看见1分题目也不太多了,就想着,抓紧点把1分题都刷一下吧.所以开个帖子记录一下,题目简单的话就只贴exp了. [BJDCTF 2nd]secret 这里有一个输入可以进行溢出,name在bss段,下面有一个变量count 输入完名字会再次输入,会和一些值进行判断,如果能连续判断正确10000次,就可以拿到flag.这里每次判断正确一次,count这个变量会减一. 所以有两种做法: 1.将所有正确的值dump下来,然后写脚本,答完10000次,就拿到flag了. 2.将cou…
以前只接触过malloc_hook,free_hook,大概意思就是在调用malloc和free的时候会先看看里面有没有东西,有的话就会执行.以前在看一些师傅们博客的时候有看到过exit_hook,前几天就研究了一下,这篇来做个总结. 首先我们自己写一个程序,调试一下exit是怎么执行的. 1 #include<stdio.h> 2 3 void main() 4 { 5 printf("bhxdn\n"); 6 exit(0); 7 } 在第六行下断点看一下. 这里可以看…
栈溢出原理 参考我之前发的一篇 Windows栈溢出原理 还有 brant 师傅的<0day安全笔记> Pwn常用工具 gdb:Linux下程序调试 PEDA:针对gdb的python漏洞利用开发协助 pwndbg:和PEDA类似,GDB插件 pwntools:写exp和poc的利器(python库) checksec:检查elf程序的安全性和程序的运行平台(一般来说peda里面自带的就够了) objdump和readelf:可以很快的知道elf程序中的关键信息(Ubuntu自带) ROPga…
pwn难啊! 1.[OGeek2019]babyrop 先check一下文件,开启了NX 在ida中没有找到system.'/bin/sh'等相关的字符,或许需要ROP绕过(废话,题目提示了) 查看到804871F函数中有个ctrncmp函数,输入的buf与一个随机数进行比较.可以通过输入开头的字符为'\x00'进行绕过,使strlen长度为0,则strncmp判定必定成功. 之后的漏洞函数中,a1是我们之前输入的第八个字符,如果我们输入\xff时,则在read时a1会进行符号填充,那么我们就可…
目录 PWN二进制漏洞学习指南 前言 前置技能 PWN概念 概述 发音 术语 PWN环境搭建 PWN知识学习途径 常见漏洞 安全机制 PWN技巧 PWN相关资源博客 Pwn菜鸡小分队 PWN二进制漏洞学习指南 前言 最近准备学PWN,所以买了<CTF权威指南(PWN)篇>的书粗略的看完后,在这里做个学PWN需要掌握的知识指南,如有补充欢迎评论. 前置技能 首先我觉得要学习PWN还是要有一定基础的,因为PWN毕竟是和系统底层知识打交道,所以我觉得应该具备如下的一些技能,并且我推荐了一些不错的书籍…
目录 [二进制漏洞]PWN学习之格式化字符串漏洞 Linux篇 格式化输出函数 printf函数族功能介绍 printf参数 type(类型) flags(标志) number(宽度) precision(精度) length(类型长度) n$(参数字段) 格式化字符串漏洞 格式化字符串漏洞原因: 漏洞利用 使程序崩溃(测试) 栈数据泄露(堆栈读) 获取栈变量数值 获取栈变量字符串 堆栈读总结 栈数据覆盖(堆栈写) 覆盖变量 任意地址内存泄漏(任意读) 任意地址内存覆盖(任意写) 覆盖小数(小于…
这是一套Linux Pwn入门教程系列,作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的一些题目和文章整理出一份相对完整的Linux Pwn教程. 课程回顾>> Linux Pwn入门教程第一章:环境配置 Linux Pwn入门教程第二章:栈溢出基础 本系列教程仅针对i386/amd64下的Linux Pwn常见的Pwn手法,如栈,堆,整数溢出,格式化字符串,条件竞争等进行介绍,所有环境都会封装在Docker镜像当中,并提供调试用的教学程序,来自历年赛事的原题和带有注释的py…
这是一套Linux Pwn入门教程系列,作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的一些题目和文章整理出一份相对完整的Linux Pwn教程. 课程回顾>>Linux Pwn入门教程第一章:环境配置 更多Pwn视频课程:https://www.ichunqiu.com/courses/pwn?from=weixin 本系列教程仅针对i386/amd64下的Linux Pwn常见的Pwn手法,如栈,堆,整数溢出,格式化字符串,条件竞争等进行介绍,所有环境都会封装在Docke…
目录 使用pwn_deploy_chroot部署国赛pwn比赛题目 一.前言 二.Docker 三.部署镜像 四.pwn_deploy_chroot 五.check && exp 六.参考链接 使用pwn_deploy_chroot部署国赛pwn比赛题目 一.前言 最近打国赛,需要build,组内大佬们决定build pwn题,于是啥也不会的我就去看docker了.但是自己从头看docker.dockerfile有点困难,最后找到一个工具pwn_deploy_chroot,很方便的完成了d…
目录 PWN环境搭建 需要的工具或系统 安装PWN工具 pwntools (CTF库.漏洞利用库) pwngdb(GDB插件) checksec(查保护) ROPGadget(二进制文件查找工具) one_gadget(libc查找one gadget最佳RCE工具) 安装32位的库 LibcSearcher(清华大佬写的工具 获取libc对应版本和地址) main_arena_offset(用来计算 main_arena 的偏移) seccomp-tools(用来读取seccomp沙箱规则)…
上周抽时间打了nepnep举办的CTF比赛,pwn题目出的挺不错的,适合我这种只会一点点选手做,都可以学到新东西. [签到] 送你一朵小红花 64位程序,保护全开. 程序会在buf[2]处留下一个data段的地址,可以覆盖这个地址的后两个字节,使得有1/16的几率,可以让程序执行到puts5函数,就可以拿flag了.直接写代码爆破就可. 1 from pwn import * 2 3 context.log_level = 'debug' 4 flag = '' 5 #4E1 6 7 while…
[pwn]DASCTF Sept 月赛 1.hehepwn 先查看保护,栈可执行,想到shellcode 这题需要注意shellcode的写法 拖入ida中分析 一直以为iso scanf不能栈溢出,后来发现我是shabi 先进入sub_4007F9()函数 有个read函数,恰好读完s数组,由于printf是碰到\x00截断,所以如果我们输满0x20个padding就可以读取一个栈地址 我们可以把shellcode写入scanf输入的地址中,通过创建fake ret地址进行rip迁移,而这个栈…
[pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_shell 送分题,连接上去就是/bin/sh 不过不知道为啥我的nc连接不上... 还是用pwntool的remote连接的 from pwn import * io = remote("111.200.241.244", 64209) io.interactive() 2.hello pw…
0x00:背景 最近在为社团招新赛出pwn题,发现网上关于出题方面的文章资料特别少,所以打算记录下自己出题的过程,便于网友们参考学习.本次出题采用了ctf_xinetd与pwn_deploy_chroot项目. 0x01:Docker介绍 Docker 将应用程序与该程序的依赖,打包在一个文件里面.只要运行这个文件,就会生成一个虚拟容器.程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样.有了 Docker,大大缓解了程序分布时的环境问题. docker的安装: #本人系统环境:Ubunt…
作者:Tangerine@SAINTSEC 原文来自:https://bbs.ichunqiu.com/thread-42530-1-1.html 0×00 背景 在上一篇教程的<shellcode的变形>一节中,我们提到过内存页的RWX三种属性.显然,如果某一页内存没有可写(W)属性,我们就无法向里面写入代码,如果没有可执行(X)属性,写入到内存页中的shellcode就无法执行.关于这个特性的实验在此不做展开,大家可以尝试在调试时修改EIP和read()/scanf()/gets()等函数…
Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/amd64下的Linux Pwn常见的Pwn手法,如栈,堆,整数溢出,格式化字符串,条件竞争等进行介绍,所有环境都会封装在Docker镜像当中,并提供调试用的教学程序,来自历年赛事的原题和带有注释的python脚本. 课程回顾>> Linux Pwn入门教程第一章:环境配置 Linux Pwn入门教程…
Controller 考点是整数溢出和scanf函数的引发的栈溢出漏洞,泄露libc地址将返回地址覆盖成one_gadgets拿到shell. 1 from pwn import * 2 3 p = process(['./pwn'],env={'LD_PRELOAD':'./libc.so.6'}) 4 elf = ELF('./pwn') 5 libc = ELF('./libc.so.6') 6 context.log_level = 'debug' 7 8 pop_rdi = 0x004…