首页 > 技术文章 > [BSidesCF 2020]Had a bad day

1jzz 2021-01-24 22:02 原文

 

 

点下面的按钮会出现这个参数,可能是sql注入
加个'试试

 

 发现直接报错了,并且出现了includi的关键词

那么可能是文件包含,先用php://filter/read=convert.base64-encode/resource=index.php
读取index.php的页面代码看看,发现读取不成功,后来才发现.php是后来加上去的
直接用php://filter/read=convert.base64-encode/resource=index即可读取源代码
 
查看代码:

 

 

如果在传入的参数category中出现过‘woofers’或者'index'或者'meowers'那么就会包含参数值+‘.php’的文件

 

所以之前payload:php://filter/read=convert.base64-encode/resource=index

 

经过处理就等于php://filter/read=convert.base64-encode/resource=index.php
 
当传入参数为woofers/../flag时出现提示,实际传入为woofers/../flag.php,

 

所以需要对伪协议进行嵌套,加入一个可以通过的关键词然后进行flag读取
payload:
php://filter/read=convert.base64-encode/index/resource=flag
php://filter/read=convert.base64-encode/woofers/resource=flag
php://filter/read=convert.base64-encode/meowers/resource=flag
都可以

 

 

 

推荐阅读