CTF-WEB进阶与学习

PHP弱类型

= = =在进行比较的时候,会先判断两种字符串的类型是否相等,再比较
= =在进行比较的时候,会先将字符串类型转化成相同,再比较
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值
并且比较按照数值来进行

转化规则

字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0。
e和E表示科学计数法
在这里插入图片描述

md5绕过

弱类型比较绕过

弱类型比较绕过
题目:

$a!=$b
md5($a)==md5($b)

解题思路:

找到不同$a和$b,两者的md5值均为0e开头的形式

在这里插入图片描述

null值绕过

题目:

$a=$b
md5($a)===md5($b)

解题思路:

使$a和$b为两个不同的数组 (array),
两者的md5值均为null。

在这里插入图片描述

碰撞绕过

题目:

(string)$a!=(string)$b
md5($a)===md5($b)

解题思路:

md5碰撞,找到两个不同的数据,但是两者的md5值相同。

在这里插入图片描述

习题讲解

第一关:
intval是取整的意思 
在php7中intval(‘2e4’) 等于20000 而intval(‘2e4’+1)等于20001 这个是正常的值
在php5中intval(‘2e4’) 等于2	 而intval(‘2e4’+1)等于20001 这个是因为php5有bug
我们通过查看http请求报文get可以看到往下移可以看到他使用的协议是php5
第二关:
他判断我们也没有传入md5的值有的话他会把我们传入的这个值赋值给md5然后判断我们赋值的md5是否等于我们当前值进行md5运算后的值
这里我们可以通过= =是不完全比较我们可以通过0e类型来绕过
第三关:
我们可以看到我们输入一个get_flag 他一眼是吧我们传入的这个参数给get_flag 
strstr是判断这个变量里面有没有空格前面加个!那就是里面这个参数不能有空格
他对我们这个变量进行str_irplace 这个函数是php中替换的函数如果我们变量里面有第一个cat他会进行替换成wctf2020 system是输出get_flag这个值就是我们要的东西
那我们就用ls查看文件发现我们要的文件是flag.php ${IFS}是空格的意思
more${IFS}flag.php

在这里插入图片描述

在这里插入图片描述

相关推荐

  1. 【QT】Qt Web混合编程之CEF、QCefView简单介绍

    2024-02-02 19:24:03       17 阅读
  2. Web 前端—— Http 和数据结构 学习笔记

    2024-02-02 19:24:03       14 阅读
  3. 13.2 WebServlet(❤❤)

    2024-02-02 19:24:03       31 阅读
  4. Web前端课程:深度剖析全面突破

    2024-02-02 19:24:03       8 阅读
  5. Web前端实战教学:深度剖析技能

    2024-02-02 19:24:03       9 阅读
  6. C++学习

    2024-02-02 19:24:03       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-02 19:24:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-02 19:24:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-02 19:24:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-02 19:24:03       20 阅读

热门阅读

  1. vscode git stash apply stash@{1}不生效

    2024-02-02 19:24:03       23 阅读
  2. 代码随想录算法训练营29期Day37|LeetCode 738,968

    2024-02-02 19:24:03       37 阅读
  3. android 11 自定义Android device owner 接口

    2024-02-02 19:24:03       31 阅读
  4. AcWing--因数平方和-->数论,整数分块

    2024-02-02 19:24:03       35 阅读
  5. [ComfyUI进阶教程] animatediff视频提示词书写要点

    2024-02-02 19:24:03       35 阅读
  6. 【从浅到深的算法技巧】优先队列

    2024-02-02 19:24:03       30 阅读