![](https://img-blog.csdnimg.cn/direct/8f37d7041d0c41d0abdea2f7c30db77f.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
PHP特性
文章平均质量分 81
了解php的一些CTF比赛常见过滤,适用于稳稳拿下基础题
补天阁
CTF赛事活跃者,信息安全大学生,web安全博主,文章入选CSDN每日看
展开
-
CTFshow web(php特性109-112)
\\\\|\/|[0-9]这里过滤的那么凶残,基本符号都给你禁完了,怎么办?这道题目是一道经典的文件包含题目, if(preg_match('/\.\.\/|http|https|data|input|rot13|base64|string/i',$file)){如果不懂,直接看我的文章,使用爆破法解决,万能的,破除一切大范围过滤,希望大家可以看看我的这篇关于文件包含的文章,该介绍的都介绍了。原创 2024-02-05 18:41:07 · 1279 阅读 · 0 评论 -
CTFshow web(php特性 105-108)
明白了这个那接下来就好办了,直接令suces=flag然后再在POST上传error=flag。因为只有36d身材的人才能看到flag(doge),吓得我差点去叫了学姐外援做题,哈哈哈哈哈哈。哈希函数主流绕过就一个,拿出数组绕过,只要保证后面的数字不一样就好了。函数搜索由指定的字符串作为由模式指定的字符串,如果发现模式则返回。包含由正则表达式中的括号组成的所有匹配表达式的数组。$suces='既然你想要那给你吧!这里我的一篇文章有相关知识点,这种。搜索对于字母字符是区分大小写的。原创 2024-02-04 12:56:14 · 1588 阅读 · 0 评论 -
CTFshow web (php特性101-104)
这里不会有人$v0=is_numeric($v1) and is_numeric($v2) and is_numeric($v3);被这里骗了吧,以为v2和v3都是要传入数字的,其实不然,v0的赋值级别最高,然后v0是个数字就行,要保证v0是数字只要保证v1传入数字就好了,后面两个管你是不是数字,就算你是false也不影响我后面做题。原创 2024-02-03 23:46:48 · 1144 阅读 · 2 评论 -
CTFshow web(php特性93-96)
这里还是不能匹配到字母,而且要绕过强相等,思路肯定是使用进制转化法的,不然会匹配到字母的,还是?num=010574但是提交的时候当成字符串了对面也是字符串,直接转化后强相等了,这里其实很简单,只要在前面加点啥的,别让他们强相等就好了,绕过强相等直接在前面加个+或者空格或者%0a(换行符)这在编写可移植脚本或应用时特别有用,因为你无需假设文件的绝对位置,只需根据当前工作目录的相对位置来指定路径。这里不能匹配字母,弱相等4476,所以还是同样的思路,进制转化,?糟了,那接下怎么办?这不就断了思路了吗?原创 2024-02-02 22:41:19 · 1063 阅读 · 0 评论 -
CTFshow web(php特性89-92)
if(preg_match('/^php$/im', $a)){这里的意思就是只要识别到php无论大小写都可以,而m的意思是可以多行识别, if(preg_match('/^php$/i', $a)){这里没有m,不能多行识别,所以给前面加个%0a(换行符)就拿到flag。num=+4476或者?原创 2024-02-02 21:49:31 · 915 阅读 · 0 评论 -
一篇文章带你搞定php里面intval函数的应用
当我们需要将一个变量转化成整型的时候,可以使用intval()函数,它可以把变量的值转换为整数类型。intval()函数的基本语法如下:其中$var表示需要被转换的变量,$base表示需要转换的进制数,缺省为10进制,即默认情况下,$base的值为10。下面我们来看一下intval()原创 2023-12-11 19:17:46 · 541 阅读 · 1 评论 -
一篇文章带你搞定CTF中http的常见应用
这里最终条件要求URL解码一次后会直接变成admin就可以输出flag,而且一开始还要绕过强等于,已经提示的很明显了,一开始就是要传入一个URL形式的字符串来绕过强相等,如果一开始不传URL编码,那后面那个URL解码岂不就是没有用了,(当然你可以私下用在线工具进行url编码,在URL编码中,每个百分号 "%" 后跟上两位十六进制数表示相应的字符,只是你在网页上输入网址经过url时不会自动帮你编码,也就是输入啥经过url后就是啥)这里是url编码在ctf的使用,很经典。原创 2023-12-16 23:29:31 · 549 阅读 · 0 评论 -
一招迅速搞定无回显函数shell_exec
今天带大家学习一下在CTF命令执行时遇到无回显怎么办?这里拿一道题目举例:这道题是不是很简单,直接???hp不就可以了吗?原创 2023-12-14 21:36:58 · 594 阅读 · 1 评论 -
PHP强相等&弱相等(附带科学计数法)
上述代码中,虽然 $str1 和 $str2 的值不相同,但是它们的 MD5 散列值都是 "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9",因此输出结果为 "两个字符串的 MD5 散列值相等"。上述代码会输出结果 "相等",因为在进行弱类型比较时,字符串 "0x1e111" 会被转换为十六进制数 123457,与整数 123457 比较相等。弱比较(相等比较符==):弱比较只要求比较的两个值在转换类型后相等即可。原创 2023-12-14 22:35:31 · 1790 阅读 · 3 评论 -
一篇文章带你搞定PHP中的is_numeric()函数
函数分别检查了一个整数、一个数字字符串和一个非数字字符串。只有前两个变量被认为是数字或数字字符串,而最后一个变量被认为不是数字。函数只能判断变量是否是数字或数字字符串,它不能确保变量具体是哪种类型的数字(如整数、浮点数等)。函数用于检查一个变量是否是数字或数字字符串。函数返回一个布尔值,如果变量是数字或数字字符串,则返回。既然讲了这个函数,那就必须得学会绕过他!原创 2023-12-13 22:11:45 · 556 阅读 · 1 评论 -
CTF伪随机数爆破
借用在rand()函数中,我们可以通过设置随机数种子来影响随机数的生成。例如,在rand()函数中加入了随机数种子编码后,每次运行程序将会生成同样的随机整数序列。这个就是伪随机数,因为种子是已知的。这道题实际上是一个伪随机数,因为在随机数生成中,种子值是一个起始点,它用于初始化随机数生成器。如果使用相同的种子值,随机数生成器将生成相同的随机数序列。通过srand()函数设置随机数种子后,程序将会生成一个包含5个整数的随机数序列。这就是随机数种子的作用。要了解伪随机数的爆破首先你的先知道什么是PHP种子,原创 2024-01-14 23:59:26 · 714 阅读 · 1 评论 -
一篇文章带你进阶CTF命令执行
文件日志直接给你了,接下来ctrl+f可以直接搜索网页特殊字符,比如flag,接下来网页就会帮你锁定位置,是不是以为flag就直接出来了?当然没有那么简单,哈哈,这次没有flag,不过这条命令一般都是可以执行的,可以看到很多有用信息,有些题目有时甚至flag就直接出来了。,会将 GET 参数 "shy" 的值作为文件包含的路径,并执行该文件的内容。3.对flag的过滤(这里也就几个,索性就全丢出来了)的指令,如果没有看到,那就使用我这篇文章上面的指令。1.‘’ (例如fl‘’ag)原创 2023-12-21 22:36:41 · 1904 阅读 · 0 评论