1、Src_Aritcle.asp 中 ArticleDelete() 函数
input[“log_id”]=func.checkInt(input[“log_id”]);
if(!input[“id”]){
strError=lang[“invalid_parameter”];
}else{
// Check if the article exists
theArticle.load(“log_id, log_authorID, log_catID”,”log_id=”+input[“id”]);
strError=false;
}
使用的是input[“id”]但是却处理了input[“log_id”]
补丁:
input[“log_id”]=func.checkInt(input[“log_id”]);
input[“id”]=func.checkInt(input[“id”]);
if(!input[“id”]){
strError=lang[“invalid_parameter”];
}else{
// Check if the article exists
theArticle.load(“log_id, log_authorID, log_catID”,”log_id=”+input[“id”]);
strError=false;
}
测试工具: Aritcle.VBS
2、Src-TrackBack.asp 中 trackbackSave()函数
function trackbackSave(){
var tbEntry={“log_id”: input[“id”],
“url”: input[“url”],
“title”: input[“title”],
“excerpt”: input[“excerpt”],
“blog”: input[“blog_name”]
}
// These function calls look really horrible
tbEntry.log_id=func.checkInt(tbEntry.log_id);
tbEntry.url=func.trim(func.wordFilter(func.checkURL(tbEntry.url)));
tbEntry.title=func.trim(func.wordFilter(func.trimHTML(func.trimUBB(tbEntry.title))));
tbEntry.excerpt=func.trim(func.wordFilter(func.trimHTML(func.trimUBB(tbEntry.excerpt))));
tbEntry.blog=func.trim(func.wordFilter(func.trimHTML(func.trimUBB(tbEntry.blog))));
对url、excerpt未严格处理,字符串方式注入
补丁
function trackbackSave(){
var tbEntry={“log_id”: input[“id”],
“url”: input[“url”],
“title”: input[“title”],
“excerpt”: input[“excerpt”],
“blog”: input[“blog_name”]
}
// These function calls look really horrible
tbEntry.log_id=func.checkInt(tbEntry.log_id);
tbEntry.url=func.checkStr(func.trim(func.wordFilter(func.checkURL(tbEntry.url))));
tbEntry.title=func.trim(func.wordFilter(func.trimHTML(func.trimUBB(tbEntry.title))));
tbEntry.excerpt=func.checkStr(func.trim(func.wordFilter(func.trimHTML(func.trimUBB(tbEntry.excerpt)))));
tbEntry.blog=func.trim(func.wordFilter(func.trimHTML(func.trimUBB(tbEntry.blog))));
测试工具: TrackBack.VBS
暂无评论