Tag Archives: hdwiki
HDWiki4.0.5标签Tags过滤危险网页代码修复办法
环境:HDWiki4.0.5 描述:标签中的内容在被服务端“处理”时候没有被严格过滤(有一层关键字过滤),不过内容在发送到服务器前被客户端的js处理过,原版编辑器模板并没有正常使用上的问题。 前几天为HDWiki换个编辑器问题就出来了,由于偶的编辑器页面没有js处理,导致发送到服务器的Tags中的网页标签代码也被存储啦,然后查看词条页面的时候,就看到发送的网页代码效果了。 修复办法:打开control目录下的doc.php,找到 大概在178和315行 $doc['tags']=$_ENV['doc']->replace_danger_word($doc['tags']); 修改为 $doc['tags']=strip_tags($_ENV['doc']->replace_danger_word($doc['tags'])); 即可。 同时建议把标题Title也进行同样的“过滤”(不过代码在Title里是没有太大危险性的,因为Title已经在服务端进行了转换处理)! 最后感谢“风吹过的夏天”同学的问题纠结和热心帮助。。 附注:PHP strip_tags函数说明 strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。 strip_tags(string,allow) 参数 描述 string 必需。规定要检查的字符串。 allow 可选。规定允许的标签。这些标签不会被删除。 注释:该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。 参考:PHP strip_tags() 函数
为Hdwiki4.0.5换个HTML编辑器!
昨天在hdwiki论坛看到有童鞋挖出hdwiki曾经使用过kindeditor编辑器,并且为hdwiki4.0.5成功更换强大的编辑器!可以来测试。。 模仿一下,我也在本地测试了下,还行 。 编辑页面模板是仿着词条页面模板来写的。 测试运行版本 hdwiki版本:4.0.5 kindeditor版本:3.3.1 editor.htm模板中嵌入编辑器的说明 <textarea id=”content” name=”content” style=”width:800px;height:300px;visibility:hidden;”>{$doc['content']}</textarea> <script type=”text/javascript” charset=”utf-8″ src=”js/kindeditor/kindeditor.js”></script> <script type=”text/javascript”>KE.show({id : ‘content’});</script> 这里配置文件单独写在一个js中来完成配置 <script type=”text/javascript” src=”js/kindeditor/keconfig.js”></script> 在kindeditor.js中添加“目录按钮”和“内链按钮”的插件(plugin) 关于插件的添加可以查看官方的说明文档 首先在kindeditor.js的以下位置 KE.lang = { 添加按钮对应的说明文字 innerlink : “内部链接”, section : “目录” 然后在最后添加按钮对应的代码: KE.plugin['section'] = … Continue reading
对HDWiki网站进行FLASH恶意代码加载与修复办法[HDWiki跨站漏洞]
今天下午在“百科”里发现异常情况:点开一个词条后,刚刚看到内容,就跳转到一个电影网站(要真是个电影网站还好点,可看到的是三个弹出网页,然后就广告广告,连那个最大的很像播放器的东东也是个广告,人渣啊)啦!郁闷的还以为是浏览器出问题啦,后退后退还是不行,看看链接也没有错啊,怀疑是不是域名被劫持啦,于是ping,对啊,换个浏览器打开域名首页,正确! 一个念头就是词条内容有问题,HD一直有个问题就是词条名字太长会被错误的截断,导致网页源码乱码(应该是编码字节处理没搞好),只有IE下会是乱码,一个一个点刚才的词条,有一次跳转发生啦,囧。 实施对HDWIKI百科网站的FLASH挂马欺骗(任何一个人点进词条自动跳转到目标网站) 只好把那个网页用迅雷下回来,看源码,没有太大异常,只有一个,发现”embed”半闭合标签,里边的Swf打开后跳转到目标网站,疑团解开啦,找办法修复。 怎样过滤词条添加过程中的SWF文件?发现使用正常的添加媒体按钮添加的SWF文件并没有任何问题(不会跳转)。 使用源码直接添加写好的SWF嵌入代码: <embed type=”application/x-shockwave-flash” src=”http://clin003.com/sa/1.swf” AllowScriptAccess=”always” /> 对HDWIKI编辑器进行修复 跳转,囧,看来从编辑器里把插入SWF时附带的代码修改并不会起作用,对过滤语句的标签中添加“embed”,是不起作用的(HDwiki 4.0.3的编辑器),可能我写的有问题。 于是就取个最捷径的办法,把切换到源码模式的按钮事件所使用的函数语句注释掉!! 文件为“js”目录,“editor”文件夹下的“editor.js”(注释掉函数内容暂时解决) hdwiki4.03的大概在1681行到1698行 hdwiki4.04的大概在965到973行 隐患 虽然从编辑器功能上进行啦防范,但仍然有可能利用(因为这段代码没有被过滤,可以直接发送制作好的数据包进行POST) 附注: swf的跳转动作代码很简单 if(1){geturl(“http://clin003.com/”,”_self”);} 只要这样就可以啦,测试页面:http://clin003.com/sa/index.html (建议保存到不同的域名下试试效果)。
HdWiki跨站漏洞暂时修复办法[20090505]
目前只是发现搜索框,词条名称那里提交的内容没有被过滤,可导致跨站攻击,只是这样的攻击一般都比较容易发现,不是大站或者安全类的站的话,影响不是很大。 不过还是写下暂时修复办法: 打开“/control/search.php” 对提交的内容进行转义(HDwiki群Terry提供) $searchtext=stripslashes($element['searchtype']== “tag”?”TAG:”.stripslashes($element['keyword']): stripslashes($element['keyword'])); $this->view->assign(‘categorylist’,$categorylist); $this->view->assign(“searchtext”,htmlspecialchars($searchtext)); $this->view->assign(“list”,$list); $this->view->assign(‘navtitle’,$this->view->lang['search'].’-’.string::substring(htmlspecialchars((($element['keyword']))),0,20)); 同样在doc.php中 $title=string::substring(string::stripscript($_ENV['doc']-> htmlspecialchars(replace_danger_word(trim($this->post['title'])))),0,80); 另外发现在默认输入“词条名”选择进入词条时,的title变量只是经过简单的去掉头尾空格,然后就给sql语句使用啦,只是HDwiki在使用的时候做啦特殊”调用“(下午去杀毒啦,到现在还没坐下来仔细研究..) $title=trim($this->post['searchtext']); … $sql=”select d.did,d.tag,d.title,d.author,d.authorid,d.time,d.summary from wiki_doc d where d.title LIKE ‘%$title%’ order by d.time desc”;
今日杂碎:升级HDWiki 4.0.4
杂碎1: ie6下页面显示还有偏向左边 这下在hdwiki版主页面小兵的帮助下,修正啦ie6下的错位问题(打开词条 靠近左边的字也是紧挨着左边显示 没有空白囧) 详见:http://kaiyuan.hudong.com/bbs/viewthread.php?tid=6305&extra=page%3D1 解决办法: basic.css 第 89 行的 .net_adv { } position:relative; 增加这个属性 hdwiki.css里边的 #nav_bot{width:290px;clear:right;text-align:right;} 把宽度由400px改成290px 在给footer-p加一个position:relative;吧(页面小兵建议 ) 杂碎2:页内中间位置插入google 468px的广告位时 和目录错位(ie下重叠) 详细说明见上面hdwiki地址 解决办法: 可以修改base.css里边的 .viewdoc_adv{float:right;width:468px;display:block;overflow:hidden;} 把宽度由450修改为468 然后找到hdwiki.css里边的 #catalog{border:1px solid #9b9b9b; margin-left:10px;float:left;width:210px;} 增加一宽度属性值设为210px(PS:这个值在ie和firefox下都显示的刚刚好 ) 杂碎3:频道添加后去不掉 删除提示成功啦 但是还能看到 更新缓存 … Continue reading
今日杂碎:升级洛阳生活百科
杂碎1:升级hdwiki到4.0.3 有几点值得升级: rss输出。 词条下方添加了常用的收藏链接。 对uc1.5和dz7.0的整合功能(貌似4.0.2本来就很正常的,这次更新还不清楚具体有哪些功能)。 词条的同义词功能,也就是官方说的“词条重定向功能”。 站内短信,感觉这个比较鸡肋,毕竟可以和ucenter整合啦,短消息就可以免啦吧或者也整合起来。 后台的统计功能,能方便地了解整个站点关于用户、积分、词条、分类等等最新情况,以方便站长根据数据对站点进行相应的改善。 期待hdwiki做的更出色ing,升级过程很顺利,完美!洛阳生活百科。 杂碎2:很讨厌别人对偶大吼大叫 就算是我从你那领工资也不应该对偶大吼大叫吧,至少尊重是双向的,对偶来说 我只是做自己应该做的事,尽到在这个位置的责任,别的偶也不会去碰,若真是要得寸进尺,我也不会奉陪,走人了之! 按时睡觉,按时起床,按时吃饭,拒绝通宵xx。