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

网站平台建设需求表wordpress越来越慢

网站平台建设需求表,wordpress越来越慢,室内设计欣赏网站,二七区室内设计装修公司排名目录 小于8个字符突破限制 无字母数字执行 php7的做法 php5的思考 PHP5shell 深入理解glob通配符 构造POC#xff0c;执行任意命令 无参数读文件和RCE总结 代码解读 构造. 另一种构造方法 小于8个字符突破限制 但也只能执行一些非常短的命令#xff0c;没有什么意义…目录 小于8个字符突破限制 无字母数字执行 php7的做法 php5的思考 PHP5shell 深入理解glob通配符 构造POC执行任意命令 无参数读文件和RCE总结 代码解读 构造. 另一种构造方法 小于8个字符突破限制 但也只能执行一些非常短的命令没有什么意义所以我们需要尝试如何取突破这个限制 我们是否可以尝试使用创建文件名的方式通过一堆文件名形成一句话木马然后将这些文件放进一个文件里面然后执行 最终执行 无字母数字执行 1. webshell长度不超过35位 2. 除了不包含字母数字还不能包含$和_        所以如何解决这个问题 PHP7前是不允许用($a)();这样的方法来执行动态函数的但PHP7中增加了对此的支持。所以我们可以通过(phpinfo)();来执行函数第一个括号中可以是任意PHP表达式。 所以很简单了构造一个可以生成phpinfo这个字符串的PHP表达式即可。payload如下不可见字符用url编码表示 php7的做法 (~%8F%97%8F%96%91%99%90)(); php5的思考 但是php5中并不支持这样的做法 “反引号”就是PHP中最简单的执行shell的方法。那么在使用PHP无法解决问题的情况下为何不考虑用“反引号”“shell”的方式来getshell呢 因为反引号不属于“字母”、“数字”所以我们可以执行系统命令但问题来了如何利用无字母、数字、$的系统命令来getshell 好像问题又回到了原点无字母、数字、$在shell中仍然是一个难题。 我们选择写一个文件上传的html传入到test会发现它会产生一个临时文件 我们是否可以在这个文件里面写入我们的shell命令在这个文件没有被删除的情况下执行来让它去进行我们想要的操作 但是当我们想要去匹配这个文件时就会发现一些问题这个零时文件会有很多我们如何才能够精准的匹配上呢而且他还限制了字母和一些符号不让我们使用 PHP5shell 此时我想到了两个有趣的Linux shell知识点 1. shell下可以利用.来执行任意脚本 2. Linux文件名支持用glob通配符代替 但是又会有一个问题就是虽然我们绕过了限制但是匹配的文件非常多无法找到我们需要的文件 于是我又想到用来匹配 我们可以发送一个上传文件的POST包此时PHP会将我们上传的文件保存在临时文件夹下默认的文件名是/tmp/phpXXXXXXXXX文件名最后9个字符是随机的大小写字母。 但好像还是不行文件还是非常的多无法找到我们想要的文件 深入理解glob通配符 其中glob支持用[^x]的方法来构造“这个位置不是字符x 我发现另一个有趣的用法 就跟正则表达式类似glob支持利用[0-9]来表示一个范围。 于是我们去观察一下他生成的这个零时文件有什么特性会发现它最后一位字母可能会出现大写的情况而其他的文件命名都是小写这样我们好像就可以去匹配上了 翻开ascii码表可见大写字母位于与[之间 那么我们可以利用[-[]来表示大写字母 我们发现这样子是可行的 构造POC执行任意命令 当然php生成临时文件名是随机的最后一个字符不一定是大写字母不过多尝试几次也就行了。 最后我传入的code为??. /???/????????[-[];?发送数据包如下 无参数读文件和RCE总结 ?php highlight_file(__FILE__); if(; preg_replace(/[^\W]\((?R)?\)/, , $_GET[code])) { eval($_GET[code]); } ? 代码解读 这里使用preg_replace替换匹配到的字符为空\w匹配字母、数字和下划线等价于 A-Za-z0-9_然后(?R)?这个意思为递归整个匹配模式 所以正则的含义就是匹配无参数的函数内部可以无限嵌套相同的模式无参数函数将匹配的替换为空判断剩下的是否只有; 正常的print_r(scandir(.));可以用来查看当前目录所有文件名 那么怎样去构造这个. 构造. localeconv()返回一包含本地数字及货币格式信息的数组,而数组第一项就是. current()返回数组中的单元默认取第一个值 所以我们可以利用这两个函数加上前面的函数可以将路径打印出来 pos是current的别名这个可以代替它如果这个不能使用还可以用reset如果都被过滤还可以使用reset()该函数返回数组第一个单元的值如果数组为空则返回 FALSE 另一种构造方法 chr46 这个就是“.”这个字符 这里有三个函数可以利用 chr(rand()) (不实际看运气) chr(time()) chr(current(localtime(time()))) chr()函数以256为一个周期所以chr(46),chr(302),chr(558)都等于. 所以使用chr(time())一个周期必定出现一次. chr(current(localtime(time()))) 数组第一个值每秒1所以最多60秒就一定能得到46用current(pos)就能获得.
http://www.hkea.cn/news/14515393/

相关文章:

  • wordpress 中国网站推广优化联系方式
  • 沧州自适应网站建设什么是网页什么是网站
  • 网站建设设计猫和老鼠惠州百度推广排名优化
  • 怎么做投票网站精美网页模板
  • 怎么建一个自己的网站利用高权重网站做关键词
  • 怀远县建设局门户网站微商城网站建设行情
  • 秦皇岛网站建设费用wordpress more标签失效
  • 网站开发需要几个专业企业网站优化方法包括
  • 做标书经验分享网站深圳市建设厅官方网站
  • 珠海网站建设有限公司微商怎么做
  • 车险保险网站济南卓远网站建设公司
  • 网站如何做品牌营销校园网站建设计划书
  • 网页与网站设计实验总结关键词优化教程
  • 电商网站建设步骤网站如何推广方案策划
  • 广告策划案搜索引擎优化排名技巧
  • 企业免费建站网上服务大厅山东理工大学
  • 广东建设监理协会网站题库wordpress自带功能
  • 百度做公司网站有用吗织梦手机电影网站模板
  • 导视设计网站抖音代运营怎么样
  • 常见网站图标学校网站群建设必要
  • 手机网站营销方法柳州专业做网站
  • 代刷网站推广免费58同城怎么做网站
  • 巴中汽车网站建设国家信用信息企业公示系统
  • 主机屋的免费空间怎么上传网站嵌入式开发软件
  • 网站常用布局方法安装wordpress到服务器
  • 做网站管理系统公司介绍模板简短
  • 阿里巴巴国际站网站建设给别人做网站需要增值电信
  • 甘肃酒泉建设银行网站在腾讯云怎样建设网站
  • 用帝国做网站怎么样网站编辑内容
  • 如何仿制国外网站英文网站用什么字体好