os-shell执行原理
- 对于 Mysql 数据库来说,--os-shell的本质就是写入两个 php 文件,
- 其中的一个可以让我们用来执行命令,而另外一个可以让我们可以上传文件
- 上传文件的两个前提条件,首先我们要知道网站的绝对路径(我们的文件写入到哪里),然后要有导入导出的权限
- 导入导出的权限在 Mysql 数据库中是由 secure_file_priv 参数(my.ini配置文件中)来控制的
- 当这个参数后面为 null 时,表示不允许导入导出,
- 如果为具体文件夹时,表示仅允许在这个文件夹下导入导出
- 如果后面没有值(为空)时,表示可以在任何文件夹下导入导出
- 当 Mysql 5.7 版本以上的时候,secure_file_priv 参数的值默认为null
- 也就是说,如果管理员没有修改过这个参数后面的数值的话,我们没办法在5.7以上版本使用--os-shell
- 使用--os-shelll参数
- 第一次选择为选择上传的脚本语言
- 原理很简单,如果是php的话,就是用 into outfile 函数上传了两个php文件
- 一个是 tmpunszu.php,可以用来上传文件,另
- 一个是 tmpbjpgc.php,这个文件可以用来执行系统命令,并且将结果返回出来
- 可以直接通过该文件在网站URL里面往 cmd 传参,执行系统命令
- 第二次选择为路径选择
- 例如选2然后输出C:/phpStudy/WWW(靶场搭建在该目录下)
posted @
2025-05-14 21:24
micryfotctf
阅读(
44)
评论()
收藏
举报