PJBlog一套开源免费的中文个人博客系统程序,采用asp+Access的技术,具有相当高的运作效能以及更新率,也支持目前Blog所使用的新技术 在文件Action.asp中: ElseIf Request.QueryString("action") = "updatepassto" Then //第307行 If ChkPost() Then Dim e_Pass, e_RePass, e_ID, e_Rs, e_hash, d_pass e_ID = CheckStr(UnEscape(Request.QueryString("id"))) e_Pass = CheckStr(UnEscape(Request.QueryString("pass"))) e_RePass = CheckStr(UnEscape(Request.QueryString("repass"))) Set e_Rs = Server.CreateObject("Adodb.Recordset") e_Rs.open "Select * From [blog_Member] Where [mem_ID]="&e_ID, Conn, 1, 3 e_hash = e_Rs("mem_salt") d_pass = SHA1(e_Pass&e_hash) e_Rs("mem_Password") = d_pass e_Rs.update e_Rs.Close Set e_Rs = nothing response.Write("1") Else response.write lang.Err.info(999) End If 程序在修改用户的密码时,没有对用户的合法权限做验证,导致攻击者可以修改任意用户的密码。 PJBlog3 V3.2.8.352 暂无,参考官方补丁
PJBlog一套开源免费的中文个人博客系统程序,采用asp+Access的技术,具有相当高的运作效能以及更新率,也支持目前Blog所使用的新技术 在文件Action.asp中: ElseIf Request.QueryString("action") = "updatepassto" Then //第307行 If ChkPost() Then Dim e_Pass, e_RePass, e_ID, e_Rs, e_hash, d_pass e_ID = CheckStr(UnEscape(Request.QueryString("id"))) e_Pass = CheckStr(UnEscape(Request.QueryString("pass"))) e_RePass = CheckStr(UnEscape(Request.QueryString("repass"))) Set e_Rs = Server.CreateObject("Adodb.Recordset") e_Rs.open "Select * From [blog_Member] Where [mem_ID]="&e_ID, Conn, 1, 3 e_hash = e_Rs("mem_salt") d_pass = SHA1(e_Pass&e_hash) e_Rs("mem_Password") = d_pass e_Rs.update e_Rs.Close Set e_Rs = nothing response.Write("1") Else response.write lang.Err.info(999) End If 程序在修改用户的密码时,没有对用户的合法权限做验证,导致攻击者可以修改任意用户的密码。 PJBlog3 V3.2.8.352 暂无,参考官方补丁