PageAdmin CMS最新版二次注入

漏洞标题 PageAdmin CMS最新版二次注入 相关厂商 pageadmin.net 漏洞作者 JutaZ 提交时间 2016-03-14 10:44 公开时间 2016-06-12 14:30 …

漏洞标题 PageAdmin CMS第二次注入最新版本 相关制造商 Pageadmin.net 漏洞作者 JutaZ 提交时间 2016-03-14 10: 44 公共时间 2016-06-12 14: 30 漏洞类型 SQL注入漏洞 危险等级 高 自我评估等级 20 漏洞状态 制造商已确认 标签标签 漏洞详细信息 #0之前的漏洞是http://**。**。**。**/bugs/wooyun-2016-0177673 #1仍是/e/master/build_static.aspx此页面 原始代码如下所示: 如果(ISNUM(IDS)){ Sql='select id,site_dir,static_dir,static_file,lanmu_id,sublanmu_id from' + Table +',其中html=2,id='+ Ids; } 其他 { Sql='select id,site_dir,static_dir,static_file,lanmu_id,sublanmu_id from' + Table +',其中html=2,id为('+ Ids +')'; } 在最新版本中它被修复为: 如果(ISNUM(IDS)) { Sql='select id,site_dir,static_dir,static_file,lanmu_id,sublanmu_id from'+ Sql_Format(Table)+'where html=2 and id='+ Ids; } 其他 { Sql='select id,site_dir,static_dir,static_file,lanmu_id,sublanmu_id from'+ Sql_Format(Table)+'其中html=2和id in('+ Ids +')'; } #2审核Sql_Format()函数 私有字符串Sql_Format(string str) { 如果(str==''|| str==null) { 回归''; } STR=str.Replace( ''”, '' ''); STR=str.Replace( '\' ' '\''); 返回str; } 发现只是替换'至于'和'替换' 但是,我上次漏洞中POC中的注入代码没有单引号,并且页面的覆盖不固定。本地反复成功

漏洞证明: #0之前的漏洞是http://**。**。**。**/bugs/wooyun-2016-0177673 #1仍是/e/master/build_static.aspx此页面 原始代码如下所示: 如果(ISNUM(IDS)){ Sql='select id,site_dir,static_dir,static_file,lanmu_id,sublanmu_id from' + Table +',其中html=2,id='+ Ids; } 其他 { 从对等方接收数据时失败

修理计划: #1重写Sql_Format()函数 #2加权限控制,使用ISSTR()来确定Table参数是否合法 版权声明:请注明出处JutaZ @乌云