CTF赛事与题目
文章平均质量分 91
实战出真知
补天阁
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 · 1317 阅读 · 0 评论 -
CTFshow web(php特性 105-108)
明白了这个那接下来就好办了,直接令suces=flag然后再在POST上传error=flag。因为只有36d身材的人才能看到flag(doge),吓得我差点去叫了学姐外援做题,哈哈哈哈哈哈。哈希函数主流绕过就一个,拿出数组绕过,只要保证后面的数字不一样就好了。函数搜索由指定的字符串作为由模式指定的字符串,如果发现模式则返回。包含由正则表达式中的括号组成的所有匹配表达式的数组。$suces='既然你想要那给你吧!这里我的一篇文章有相关知识点,这种。搜索对于字母字符是区分大小写的。原创 2024-02-04 12:56:14 · 1638 阅读 · 0 评论 -
CTFshow web(php特性97-100)
0x36d(877)这里是从36循环到877,每次i都加一,也就是说我从1~36直接生成一个随机数,然后1~37之间生成一个随机数,1~38............直到1~876,有没有发现一个事实,我每次的范围都包含了一个数字的,那就是1。接下来因为我把1传进去了,访问1.php页面,然后直接1=system("ls");所以越是前面的数据越是容易出现数据,出现覆盖对吧。有意思的是,这里的数组会对元素进行一个覆盖,这个位置产生了数据,但是第二次随机数又在。把格式包裹,然后0x2d换成-就好了。原创 2024-02-03 10:35:28 · 1395 阅读 · 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 · 934 阅读 · 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 · 1205 阅读 · 2 评论 -
CTFshow web(php特性93-96)
这里还是不能匹配到字母,而且要绕过强相等,思路肯定是使用进制转化法的,不然会匹配到字母的,还是?num=010574但是提交的时候当成字符串了对面也是字符串,直接转化后强相等了,这里其实很简单,只要在前面加点啥的,别让他们强相等就好了,绕过强相等直接在前面加个+或者空格或者%0a(换行符)这在编写可移植脚本或应用时特别有用,因为你无需假设文件的绝对位置,只需根据当前工作目录的相对位置来指定路径。这里不能匹配字母,弱相等4476,所以还是同样的思路,进制转化,?糟了,那接下怎么办?这不就断了思路了吗?原创 2024-02-02 22:41:19 · 1094 阅读 · 0 评论 -
2023极客大挑战web小记
使用科学计数法的数值(字符串) 在某些版本中无法被 intval() 正确解析,但 PHP 是认得它的,在与数值 1 进行加法运算时,$lover 将被 PHP 正确解析。这里是真的狗,由于PHP8.0以下如果第一次出现类似于“[”这样的非法符号,会将第一个非法符号转化为下划线,第二个不会转,所以这里是变量出了问题,所以改一下就好了。需要注意的是0e绕过只能绕过弱类型比较(==),而数组绕过不只可以绕过弱类型比较,还可以绕过强类型比较(===)强类型比较(===),判断内容的基础上,还会判断类型是否相同。原创 2024-01-12 14:21:26 · 1063 阅读 · 0 评论 -
hash长度扩展攻击
如果已知的MD5哈希值是"437a413ace6757019e0a0c5ead62c9f9",除非通过暴力破解法——即尝试大量可能的输入值并对每个值进行散列,直到找到与已知散列值匹配的输入,否则无法得知。接下来就可以直接得出flag,因为MD5是不可逆的,除非你已经知道了flag形式的MD5,还知道了flag的很多内容,只有几个字符不知道的那种(想想也知道不可能!第一个绕过就搞定了,这里由于就只要求中间的三个字母,因为已经知道了开头结尾,所以可以使用我的脚本进行爆破。-d --data来自已知消息的数据。原创 2023-12-24 23:54:14 · 1447 阅读 · 0 评论