黑客24小时在线接单黑客在线接单
幻泉[B.S.N] 在《针对留言本的漏洞挖掘》文章中我写了一段话,就是针对写入数据库一句话木马的研究中,可以利用Request.ServerVariables没做过滤绕过写入一句话,来进行插入数据库木马。 但是当时只是猜测,虽然在06年有介绍针对一些php针对获取ip没做过滤导致注射漏洞。但是学习就是以技术的严谨性为原则,无论什么漏洞都必须亲自测试否则只是理论上的说教是不被人信服的。 这里还正好有这样的一个留言本,让我们来进行测试。 测试代码:花木兰留言本 官方网站:www.77f77.com 首先我们看看他的提交代码都对什么做了过滤。 文件比较少,就直接列下留言本的结构吧。 花木兰留言本 |___index.asp 留言本主要文件内部有提交和显示信息的主要代码。 |____ gustbook_Conn.asp 留言本调用数据库文件 |_____ gustbook_sub.asp Function |_____dqe_gustbook.asp 数据库文件 这里我们最主要的就是看index.asp,因为已经确认数据库文件没做防下载,可以直接访问。 Index.asp部分重要代码 Code: '过滤代码 Function htmlencode(fString) If not isnull(fString) then fString = replace(fString, ">", ">") fString = replace(fString, "<", "<") fString = Replace(fString, CHR(32), " ") fString = Replace(fString, CHR(9), " ") fString = Replace(fString, CHR(34), """) ‘ “ fString = Replace(fString, CHR(39), "'") ‘ ‘ fString = Replace(fString, CHR(13), "") fString = Replace(fString, CHR(10) & CHR(10), "
") fString = Replace(fString, CHR(10), "
") htmlencode = fString End If End Function Function uhtmlencode(fString) If not isnull(fString) then fString = Replace(fString, " ", CHR(32)) fString = Replace(fString, " ", CHR(9)) fString = Replace(fString, """, CHR(34)) fString = Replace(fString, "'", CHR(39)) fString = Replace(fString, "", CHR(13)) fString = Replace(fString, "
", CHR(10) & CHR(10)) fString = Replace(fString, "
", CHR(10)) uhtmlencode = fString End If End Function ……. '提交数据 Books_mingzi=htmlencode(Request.form("mingzi")) If Books_mingzi="" then Books_mingzi="匿名者" End If Books_biaoti=htmlencode(Request.form("biaoti")) Books_neirong=htmlencode(Request.form("neirong")) …… Set mRs= Server.CreateObject("adodb.recordSet") mRs.open "Select * from dqe_gustbook", conn, 1, 3 mRs.addnew mRs("who") = Books_mingzi mRs("biaoti") = Books_biaoti mRs("neirong") = Books_neirong mRs("lanmu") = lanmu mRs("zhiding") = 0 mRs("shijian") = now() UserIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR") If UserIP = "" Then userip = Request.ServerVariables("REMOTE_ADDR") mRs("ip") = UserIP mRs.update
(责任编辑:网络)