PHP_Code_Challeng系列
A86445
一个信息安全小白
展开
-
Php_Code_challenge18
strcmp遇到特殊类型数据返回0,MD5函数遇到特殊数据类型会返回0,弱类型可用16进制绕过。原创 2024-03-29 16:50:17 · 258 阅读 · 1 评论 -
Php_Code_challenge17
get参数名 '_' 用 '[' 绕过几个 下面的使用php伪协议 php://input绕过即可请求内容处写入要求的颜表情。原创 2024-03-29 14:11:25 · 585 阅读 · 1 评论 -
Php_Code_challenge16
所以科学计数法绕过即可。原创 2024-03-29 12:27:45 · 203 阅读 · 0 评论 -
Php_Code_challenge15
对'..'进行限制禁止我们包含其他目录下的内容,也就不能对服务器日志及SESSION进行利用,我们对分析代码分析出题人贴心的给我们输出了上传后的文件名及路径,并且利用file_put_contents和file_get_contents进行文件的写入,这是很危险的输出上传文件名加上file_put_contents和file_get_contents的嵌套利用我们可以利用file_get_contents再次读取index.php,并在path写入一句话木马,并包含一句话木马写入path。原创 2024-03-29 10:32:43 · 333 阅读 · 2 评论 -
Php_Code_challenge14
一道简单的文件包含漏洞,对请求的参数进行文件包含,无任何过滤,我们直接使用php伪协议即可获得flag。里面的转换方式是有很多的不止base64,详细参考大佬博客。原创 2024-03-28 18:41:34 · 276 阅读 · 0 评论 -
Php_Code_challenge13
并把$str_rands生成的随机数赋值给$_SESSION['whoami'],并,当$_SESSION['nums']的值大于10时输出flag。我们要做的就是让$_SESSION['nums']>10,出题人已经贴心的对随机数进行输出,在这部分我们只需要进行数组绕过就好了。MD5加密会随机生成字母和数字 如果数字开头就寄,所以我们用数组绕过。反复进行十一次就ok。php支持字符串用下标表示字符位置。原创 2024-03-28 18:24:45 · 227 阅读 · 0 评论 -
Php_Code_challenge12
题目:答案:解析:字符串拼接。原创 2024-03-28 11:11:01 · 247 阅读 · 0 评论 -
Php_Code_challenge11
匹配到字符数字返回真,没有则返回假,但是前面加了取反,$$代表全局变量。原创 2024-03-28 10:37:42 · 133 阅读 · 0 评论 -
Php_Code_challenge10
自己出了点问题我在第三行加上了echo post参数(content-type请求体自己给写错了)对传入参数进行过滤,要求不能在1-9中,最后如果弱等于3735929054就echo flag。构造16进制数据进行传参。原创 2024-03-28 09:33:11 · 200 阅读 · 0 评论 -
Php_Code_challenge9
使用URL编码%0a绕过.原创 2024-03-27 16:48:12 · 206 阅读 · 0 评论 -
Php_Code_challenge8
过滤了字母数字但是 '$' 、 '_'、 '='、';'、'+'、'{} '、'()'都没过滤可以用webshell自增绕过。原创 2024-03-26 20:42:58 · 269 阅读 · 0 评论 -
Php_Code_challenge5
sha1函数不能加密数组所以返回0,0===0为真。原创 2024-03-25 22:25:18 · 117 阅读 · 0 评论 -
Php_Code_challenge6
第一个判断,连接数据库接收POST参数user and pass,SQL查询有注入漏洞,查询数据库数据库内容放入$row获得该数组pwd参数,参数为true and $pass ==$row[pwd] ,利用SQL注入联合查询返回我们需要的MD5加密密码,user构造为 -1'union select md5(123)# pass参数构造为123。原创 2024-03-26 09:47:03 · 135 阅读 · 0 评论 -
Php_Code_challenge7
第一个if要求我们请求头必须为POST请求第二个if要求POST不为空第三、第四个对GET、POST环境变量名与值进行遍历由于使用的是$$可使用全局变量进行构造GET请求为$$_200=$$flag 与 POST请求构造为 flag=123(任意字符串)访问challenge.txt获得进行构造获得。原创 2024-03-26 11:02:45 · 147 阅读 · 0 评论 -
Php_Code_challenge4
由于eval里面是字符串使用可以使用字符串拼接构造。原创 2024-03-25 22:10:16 · 135 阅读 · 0 评论 -
Php_Code_challenge3
本题的重点在于substr截取字符串可以被%00截断绕过但是strlen不会,和php伪协议的利用,字符串和整型对比的转换。原创 2024-03-25 21:53:04 · 148 阅读 · 0 评论 -
Php_Code_challenge2
php中当字符串与整型做比较时会把字符串转为整型0x4f1a00会作为16进制整形符合第一个和第二个if绕过,第三个if犯了一个错误就是用int把参数转为整型,这样会使字符串为0(请参考字符串转整形规则,在php官方文档可以看到,比如 (int)'123a',转为整型为123,a123转为整型为0)所以我们会直接的到flag。原创 2024-03-25 19:52:46 · 164 阅读 · 0 评论