ctfhub 过滤运算符 综合过滤练习 读取源代码 远程包含 eval执行 文件包含 php://input
过滤运算符

过滤了\和&那么尝试;
 
成功那么将flag cat出来
 127.0.0.1;cat flag_27249269530391.php
 
得到flag
综合过滤练习

这次过滤有点多过滤了&;空格flag,cat,ctfhub
 但是没有过滤%0a,%0d,用
    
     
      
       
        
         I
        
        
         F
        
        
         S
        
       
       
        取
       
       
        代
       
       
        空
       
       
        格
       
       
        ,
       
       
        用
       
      
      
       {IFS}取代空格,用
      
     
    IFS取代空格,用*绕过关键词过滤,因为在没有定义的情况下,$*在shell命令执行下为空
 
回显有一个flag_is_here文件夹
 payload:http://challenge-0d5b8ca008f117b9.sandbox.ctfhub.com:10800/?ip=127.0.0.1%0Acd${IFS}fl*ag_is_here%0Als#这里ls是对flag_is_here目录进行操作,所有ls 是在cd flag_is_here执行后在flag_is_here目录下执行,这里拼接的就得用%0a换行符,可以等效&&,不能用%0d,%0d等效于&。
 
将flag tail出来
 http://challenge-0d5b8ca008f117b9.sandbox.ctfhub.com:10800/?ip=127.0.0.1%0Acd
    
     
      
       
        
         I
        
        
         F
        
        
         S
        
       
       
        f
       
       
        l
       
       
        ∗
       
       
        a
       
       
        
         g
        
        
         i
        
       
       
        
         s
        
        
         h
        
       
       
        e
       
       
        r
       
       
        e
       
      
      
       {IFS}fl*ag_is_here%0Atail
      
     
    IFSfl∗agishere{IFS}fl*ag_126912367811026.php#
 
得到flag
读取源代码

进入环境源码直接给了出来分析代码尝试使用伪协议来读取
 ?file=php://filter/read=convert.base64-encode/resource=/flag
 将读取出来的字符串进行base64解码
 
flag出现
远程包含

根据题意我们首先在服务器中创建一个文件夹然后编辑一个一句话木马
 
python启动一个http服务
 
然后使用蚁剑连接即可
eval执行

题目一进去就把源码给了出来
 
测试了一下函数能直接运行
 
将flag cat出来
 
文件包含

进入题目点击shell
 
源代码如上
 
根据题意文件包含又提供了shell,使用hackbar进行shell的使用

查看根目录发现flag
 
cat出来
 
php://input

进入题目题目将源码给了出来并且前六位必须为php://
 根据题目得知需要使用php://input来解题
 补充一个知识点
 
抓包使用php://input漏洞
 
cat flag
 

 
                
             浙公网安备 33010602011771号
浙公网安备 33010602011771号