注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

冰魂's blog

关注网络技术.

 
 
 
 
 

日志

 
 

[漏洞]PHPWIND最新版本querybuilder.class.php页面漏洞及修复  

2011-08-29 01:42:51|  分类: [安全资讯] |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

简要描述:
phpwind在实现占位符SQL过程中,代码质量出现了一个小黑点。
详细说明:

phpwind/lib/utility/querybuilder.class.php
_parseStatement函数内

在/phpwind/actions/ajax/leaveword.php
的一个引用处
Line 78行
$db->update(pwQuery::buildClause("UPDATE :pw_table SET leaveword=" . S::sqlEscape($atc_content) . " $sqladd WHERE pid=:pid AND tid=:tid", array($pw_posts, $pid, $tid)));

没考虑$atc_content内可能会有占位符
也没有考虑pid应该为数字,直接取了字符串
Line:31

S::gp(array(
'pid',
'atc_content',
'ifmsg'
), 'P');

导致SQL注入

但是由于PW替换了等于号,替换了),无法导致非常严重的SQL注入漏洞。
当提交pid=asd,atc_content为:pid的情况下提示
Query Error: UPDATE pw_posts SET leaveword= ' 'asd' ' WHERE pid= 'asd' AND tid= ''
 

修复方案:


你们可能全局忘记了替换:为HTML实体,这个也可以试试 :)

官方已经发布补丁,请及时升级

  评论这张
 
阅读(121)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017