![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CTF
@hello_kitty@
这个作者很懒,什么都没留下…
展开
-
CTFSHOW 萌新 web13 解题思路和方法(利用?>提前结束语句)
此时,如果按照之前的方式构造url语句,发现由于分号的存在导致返回cmd error信息。此时我们可以考虑使用?> 使得php代码提前闭合,即构造url。点击题目链接,分析代码。发现相比上一关卡,增加过滤了分号。查看当前目录下面所有的文件内容,从而获得flag的值。原创 2024-08-15 16:35:08 · 319 阅读 · 0 评论 -
CTFSHOW 萌新 web14 解题思路和方法(利用反引号执行系统命令)
点击题目链接,我们发现页面代码中相较上关卡添加了括号过滤,这意味着我们不能使用passthru函数执行命令。导致不能使用 passthru 函数,从而导致无法使用系统命令。此时我们可以使用反引号进行绕过。发现当前文件夹下有两个文件,此时可以通过 tac * 查看所有文件的内容,构造url语句。>,让代码在php结构中的最后一行(php最后一行代码末尾无分号;即 `ls` 等同于 shell_exec('ls')原创 2024-08-14 15:43:46 · 207 阅读 · 0 评论 -
CTFSHOW 萌新 web10 解题思路和方法(passthru执行命令)
点击题目链接,分析页面代码。发现代码中过滤了system、exec 函数,这意味着我们不能通过system(cmd命令)、exec(cmd命令)的方式运行命令。可以发现,passthru未被过滤,那么我们可以使用该函数执行命令。查看config.php的文件内容:?(web11、web12、解法与本关相同)原创 2024-08-03 22:25:54 · 263 阅读 · 0 评论 -
CTFSHOW 萌新 web9 解题思路和方法(利用system函数执行系统命令)
因为题目中提示flag在config.php文件中,所有可以直接读取该文件。当然,如果题目中没有说明falg在那个文件中,我们可以使用。查看所有文件内容,然后从结果中查询。原创 2024-08-03 22:25:29 · 276 阅读 · 0 评论 -
CTFSHOW 萌新 web8 解题思路和方法(删库跑路)
才有资格让我们跑路。所以这顿熟悉的操作很有可能是删库,那么我们尝试构造url并提交,发现获得flag值(%20 表示空格)点击题目链接,进入题目页面。可以看到当$key===$f的时候,返回flag。而$_f 则为我们传入的参数值。那么传入的参数值是什么呢,根据题目提示 “阿呆熟悉的一顿操作,去了埃塞尔比亚”。删过库的都知道,只有。原创 2024-07-30 10:53:47 · 299 阅读 · 0 评论 -
CTFSHOW 萌新 web7 解题思路和方法(二进制表示)
需要注意的是intval对字符串的转换成数字是从左边第一位开始,直到遇到非整数的字符。而我们发现过滤条件将取反也过滤掉了。那么我们可以采用其他的方式绕过if判断,原创 2024-07-30 10:53:24 · 462 阅读 · 0 评论 -
CTFSHOW 萌新 web6 解题思路和方法(利用取反运算符)
点击题目链接,发现sql查询当id=1000时返回flag的值,但是if语句判断需要intval(id)原创 2024-07-26 10:08:56 · 450 阅读 · 0 评论 -
CTFSHOW 萌新 web5 解题思路和方法(利用取反运算符)
点击题目链接,发现页面代码,根据最后一行的提示当id=1000时返回flag值,但是前面if判断intval(id)的值不得超过999,故需要对其进行绕过。我们发现题目中相比前几题中过滤条件更为严格,但是没有过滤取反运算符。原创 2024-07-24 22:37:36 · 237 阅读 · 0 评论 -
CTFSHOW 萌新 web4 解题思路和方法
需要蓄意的是,题目使用intval()函数进行整形转换。在转换整数类型时,如果被转换的是整数类型,则会直接原样转换;如果是字符串类型,则会从第一个字符开始转换,直到遇到非整数类型的字符才会停止;使用逻辑运算符 ||进行测试,发现成功获取的到flag。首先使用 union 进行测试,发现报错。原创 2024-06-27 22:20:22 · 374 阅读 · 0 评论 -
CTFSHOW 萌新 web3 解题思路和方法(两种方法)
打开链接,进入题目页面,发现代码和web2代码相比运算符过滤条件更为严格(该方式在之前的web关卡中都适用,但是前面关卡对应的解决方式最为简单。原创 2024-06-15 23:43:25 · 282 阅读 · 0 评论 -
CTFSHOW 萌新 web2 解题思路和方法
,返回flag的条件是查询语句中的id值等于1000.但是我们发现该题代码中多了一个if判断语句,该语句用来判断我们提交的数据中是否出现 + (加号)这时我们可以考虑使用 * (乘号)来进行计算。打开链接,进入题目页面,发现代码和web1代码类似(原创 2024-06-15 22:20:09 · 218 阅读 · 0 评论 -
CTFSHOW 萌新 web1 解题思路和方法
点击题目链接,页面出现代码,根据代码可知我们需要提交id参数名,而想要获得flag,数据库查询时的id值需要等于1000。此时我们可以想到通过两数和的方式进行提交,只要两数的和等于1000即可(需要urlencode一下)但是根据代码可以发现,当id>999的时候,if判断,会直接退出并返回错误。原创 2024-06-15 19:43:25 · 218 阅读 · 0 评论 -
CTFSHOW 菜狗杯 Webshell 解题思路和方法
分析代码,我们输入的参数名为 cmd,同时将传入的参数值首先进行反序列化操作,然后执行 init() 函数发现在反序列化之后。此时我们可以在构造反序列化语句中使用cmd命令。需要注意的是,这里我们不能使用"cat flag.php"命令,因为代码中有匹配判断,我们的代码中不能出现flag ,/i 表示忽略大小写。我们重新将cmd赋值为 “tac f* ”,并运行代码进行序列化:(也可以直接修改,只需要修改命令和对应的字符长度即可)利用序列的结果构造url语句,并测试。原创 2024-06-14 18:15:48 · 408 阅读 · 0 评论 -
CTFSHOW 菜狗杯 LSB探姬 解题思路和方法
点击题目链接,发现是个文件上传页面。并且提示我们上传隐写文件,我后面使用图片隐写漏洞的方式解题,发现不能获取flag值。原创 2024-06-14 17:34:18 · 137 阅读 · 0 评论 -
CTFSHOW 菜狗杯 小舔田? 解题思路和方法
s:9:"小甜甜";点击题目链接,发现页面上的php代码,F12并未发现有用信息。原创 2024-06-14 16:36:59 · 237 阅读 · 0 评论 -
CTFSHOW 菜狗杯 茶歇区 解题思路和方法
提交后发现弹出了信息 “你拿了9223372036854775807瓶咖啡,总计获得0分!”,发现数据确实溢出,而且物品数目的最大值:9223372036854775807。点击题目链接,发现出现一个计分板页面,完成题目的条件是得分超过114514,但是FTP余额只有1024,故正常游戏无法获得flag。同时在js代码中也未找到与score有关的参数名,这意味着我们不能通过代码审计的方式完成该题。再次使用9999...999,进行多次提交,直到弹出flag。发现当前得分和FP余额被修改,同时弹出信息。原创 2024-06-14 14:39:59 · 188 阅读 · 0 评论 -
CTFSHOW 菜狗杯 遍地飘零 解题思路和方法
我们最终想要输出flag值,那么可以利用该语句。此时我们可以考虑将$_GET重新赋值,而赋的值为$flag。_GET=flag传入时,首先$key 获得key 值_GET,即$key=_GET。由此,$$key 的值则为$_GET,同理 $$value的值为 $flag。点击链接发现页面显示php代码,先按住F12查看源代码,并未发现有用信息。上述代码运行结果则为 $_GET = $flag ,因为$flag不为。原创 2024-06-14 11:56:05 · 248 阅读 · 0 评论 -
CTFSHOW 菜狗杯 easyPytHon_P 解题思路和方法
我们的目的是想要获得flag的值,而该值很有可能在flag.txt中,那么我们可以命令行查看flag.txt的值:cat flag.txt。构造url查看是否能获得由于的信息,发现命令执行,并且列出的文件中出现 flag.txt,同时得到信息 flag.txt和evilSource.py在同一目录下。该段代码首先判断cmd 和param是否为空值,如果都不为空值的话,执行subprocess.run函数。现在分析页面显示的python源码,发现requset接收两个值 cmd和param。原创 2024-06-14 11:02:35 · 255 阅读 · 0 评论 -
CTFSHOW_菜狗杯_传说之下(雾)_解题思路和方法
我们进入控制台,看到已经出现了flag的值。前面标了3,是因为我们吃第二个豆的时候已经满足条件,即在吃第2,3,4个豆的时候都给我们提供了flag值,共3次。点击控制台,发现提示当得分超过2077的时候,将会显示flag。此时游戏大佬对于这一题的解决思路就比较清晰了,就是玩游戏直到得分超过2077。但是我发现了score变量,该变量很有可能记录我们的得分。ctrl+F向下继续查找score,看看对其进行了哪些操作。那么我们可以修改贪吃蛇每触碰一个食物,增加的分值,这里改成2000,ctrl+s 保存。原创 2024-06-13 23:43:07 · 299 阅读 · 0 评论 -
CFTSHOW_菜狗杯_无一幸免
点击进入靶场,分析代码可以得到以下结论:首先构建url语句并测试,发现直接获得flag的值:原创 2024-06-13 23:08:56 · 235 阅读 · 0 评论 -
CTFSHOW 菜狗杯 化零为整
那么我们可以考虑直接设法传入 "大牛" 作为get的值,这时我们将大牛进行url编码,然后对每个部分进行拆分(即化整为零),从而构造url。访问链接,则得到flag的结果:ctfshow{dea46f40-2fba-42b8-8841-707a56354b09}“大牛” 的url编码为 %e5%a4%a7%e7%89%9b ,利用其url编码构造url链接。原创 2024-06-13 22:41:58 · 205 阅读 · 0 评论 -
CTFSHOW_菜狗杯_TapTapTap 解题思路和方法
对其进行解码,得到文本:Your flag is in /secret_path_you_do_not_know/secretfile.txt。查看其源代码,发现并无有用信息。原创 2024-06-13 18:25:25 · 197 阅读 · 0 评论 -
CTFSHOW 菜狗杯 一言既出 解题思路和方法(两种方法解决)
可以看到报错信息,由于intval(114514)的值不等于1919810,运行了die函数,输出 “一言既出,驷马难追!那么我们可以考虑使用对num的值对第二句话进行绕过,即不执行后面的语句,在php中 // 表示注释,那么使用该知识点进行payload构造,为了保证语法的完整性,我们在数字的后面加上了 );弱口令比较的过程中,如果数字开头,会提取开头的数字,然后比较。有了以上知识,我们就可以通过构造payload进行测试,首先num的值需要等于114514,查看结果。原创 2024-06-13 17:32:14 · 647 阅读 · 0 评论 -
CTFshow 菜狗杯之 抽老婆解题思路和流程
CTFshow 菜狗杯之 抽老婆解题思路和流程原创 2024-06-13 14:48:17 · 653 阅读 · 0 评论 -
ctfshow杂项_web2 c0me_t0_s1gn思路和题解
ctfshow杂项 web2 c0me_t0_s1gn 思路和题解原创 2024-06-13 12:48:47 · 196 阅读 · 0 评论