首页 > 其他分享 >CTF题目-message board

CTF题目-message board

时间:2023-09-15 15:02:22浏览次数:39  
标签:题目 变量 覆盖 CTF board 数组 message 替换

遇到了一道CTF题目,页面如下 0 通过目录扫描可以发现www.tar,一看就知道是网站备份文件,接下来套路估计就是代码审计   0 打开可以看到2个php文件 0   0 看过一遍代码,再结合题目的web页面,就会大概清楚这是一个提交留言的系统, 会涉及到数据库的更新和查询操作, 0 数据库查询的语句已经写死,无法利用,只能考虑insert语法的注入,最常用的就是报错注入 msg属于我们的可控变量,可以通过它注入恶意语句,通过源码知道msg变量通过单引号闭合 但是我们发现这里还使用了addslashes函数做转义, 还有个replace_bad_word函数通过数组,替换我们msg变量中的违法字符 0   继续阅读代码,发现解题的关键问题——变量覆盖 通过变量覆盖漏洞覆盖数组里的值,使addslashes函数转义出来的反斜杠(\)通过replace_bad_word函数被替换为空 0   怎么理解这段变量覆盖代码呢?简单理解就是把_GET,_POST请求中变量名和参数值循环赋值一遍 为了更好理解,把源码中主要内容复制到一个php文件运行,实际感受变量覆盖的效果 主要的代码保留,再建一个html表单,传递name和age值 再把每个过程的变量值ehco出来 0 0 0 burp抓包正常的返回包 0 我们再加一个变量试一下,覆盖之前的变量 发现变量覆盖成功 0 再覆盖数组变量试一下 0 数组变量被替换,测试到这里就差不多了,我们再回到CTF题目,抓取数据包 0 利用变量覆盖,改变数组内容,执行到替换函数时把转义的反斜杠替换,执行报错注入,获取flag值 0  

标签:题目,变量,覆盖,CTF,board,数组,message,替换
From: https://www.cnblogs.com/byzd/p/17705022.html

相关文章

  • js浏览器通信postMessage
    1、背景:一个应用中内嵌了iframe,外层应用需要知道iframe做了一些具体的操作来更新页面,所以需要用到postMessage2、代码模块发起方:window.parent.postMessage({type:'sign-event',//事件名,内外层统一data:{data:data//需要传递的参数},......
  • CTFShow“萌心区”WP(上)
    (CTFShow“萌心区”WP详解(上)CTFShow平台:https://ctf.show/萌新认证纯签到题直接在公告找或者输入萌新码注意:萌新码是从一个固定池里随机分配的,不是统一的。萌新_密码1先进行base16解码然后解码出来的字符有=结尾感觉是base64得到一串像flag的字符串然后在使......
  • public ::google::protobuf::Message
     public::google::protobuf::Messagefilelist继承..... .protomessageabc{requiredstringaa=1;optionalstringbb=4; }messageDeparts{repeatedabccc=1;......
  • 桌面卡片开发教程02:从底层原理开始讲透message事件的刷新机制
    相关文章:桌面卡片开发教程:从底层原理开始讲透call事件的刷新机制首先铺垫两个基础知识:1.为什么桌面卡片需要使用特殊机制来刷新?主要有两个原因:第一是HarmonyOSApi9的桌面卡片出于降低系统能耗的目的,被限制了只有5秒的活动时间。超过5秒以后桌面卡片的相关进程会被强制销毁,变成一个......
  • ctfhub_WEB基础关(文件上传)
    WEB基础六、文件上传1、无验证无验证的话,直接上传一个一句话木马试试利用哥斯拉生成php木马将生成的文件上传利用哥斯拉连接,进入进入文件管理,查看flag2、前端认证将第一关利用哥斯拉生成的ctf.php文件修改后缀名,改为ctf.jpg上传该文件,并用Bp拦截修改文件......
  • ctfhub---ret2text
    一、程序初步分析 没有开任何保护,64位程序二、IDA反编译 main函数中的gets函数没有对输入限制长度,存在栈溢出 secure函数中出现了system("/bin/sh"),让main函数的返回地址rip指向该函数即可  查看main函数中的输入v4,距离ebp0x70,加上64位ebp共8个字节,覆盖返回地址需......
  • element ui中的message弹出框只出现一次
    import{Message}from'element-ui';letmessageInstance=null;constresetMessage=(options)=>{if(messageInstance){messageInstance.close()}messageInstance=Message(options)};['error','success&#......
  • Ceph Enable Dashboard
    本次演示环境配置如下:hostnameIProlesnode01.srv.world192.168.10.101ObjectStorage;MonitorDaemon;ManagerDaemonnode02.srv.world192.168.10.102ObjectStoragenode03.srv.world192.168.10.103ObjectStoragedlp.srv.world192.168.10.142clientwww.srv.world192.168.10.140RAD......
  • A named channel for communicating with platform plugins using asynchronous /// m
     Future<void>initWithScopeLimitCredential()async{finalBasicMessageChannel<Object?>channel=BasicMessageChannel<Object?>('dev.flutter.pigeon.CosApi.initWithScopeLimitCredential',codec,binaryMess......
  • 关于Spring i18n国际化 报错No message found under code * for locale 'zh_CN'.的解
    第一步创建资源文件国际化文件命名格式:基本名称_语言_国家.properties 这里我建了两个配置文件,一个是zh_CN中文的,一个是en_GB英文的,然后在里面随便写点测试文本语句第二步bean.xmlspring配置文件1<?xmlversion="1.0"encoding="UTF-8"?>2<beansxmlns="http:/......