前一段時間的***學習總結(一)

   第一天,我對網站的腳本類型,數據庫的類型,服務器的種類,操作系統有了一個初步的瞭解。

   現在的網站腳本大致有asp、php、aspx這三種類型這些都是動態語言,它們是中小型網站中應用最多的三種腳本類型,這三種類型的漏洞是比較多的。還有一種類型是jsp腳本,這種腳本多用於大型網站的開發,jsp腳本類型的網站漏洞,可以說幾乎是沒有的,不過雖然jsp的漏洞少,但jsp網站由於開發難度大,維護成本高,往往需要購買獨立的服務器,所以jsp類型的網站還是很少的,而且這也不是我們主攻的方向。

  數據庫大體上分爲關係型數據庫和非關係型數據庫。關係型數據庫就是我們常見的網站所使用的數據庫,大致有mysql、mssql、access、oracle,db2、postsql等,非關係型數據庫是用於大數據雲計算的,我們在這裏不予討論。

  網站的服務器有軟件包、集成包,iis,apache,tomcat、uginx等。(其實我到現在還沒明白軟件包和集成包到底是什麼東西)

  操作系統類型基本就是就是常見的windows,linux這兩種。

  asp、php、aspx這些之所以被稱爲動態語言,簡單來說就是因爲這些動態語言的代碼在我們的客戶端是看不到的,它們會轉化成靜態語言顯現出來,而靜態語言就是代碼不會被轉換,服務端和客戶端的代碼是一致的。

  如果是asp的腳本語言,那它往往搭配的是access或mssql的數據庫,php經常與mysql搭配,aspx和jsp常常與mssql或oracle搭配。

  iis6.0以win2003爲操作系統,iis7.0和7.5以win2008爲操作系統,apache則windows,linux都可以。

  我們在查操作系統的時候,可以通過工具或網站組合來查,也可以通過ttl值來查詢,和誰的ttl值最相近可能就是什麼樣的操作系統。

  接下來我又學習了sql注入的一些內容,sql注入產生的原因就是因爲,網站在接受用戶輸入的相關參數時未經過濾就直接帶入數據庫查詢,從而導致一些敏感信息的泄露。而用戶輸入的參數就是sql語句,因爲只有sql語句纔會在數據庫中被執行。

  可能存在注入的網站的類型有www.xxx.com/index.asp?id=, url中的asp可以是php或者是aspx,id也可以換成其他的如page等等,還有像這樣的www.xxx.com/index.asp?id=1&page=111 網站也有可能存在注入,要特別注意的是在進行判斷和注入的時候,要將id移到後面page移到前面再進行注入。還有一種僞靜態網如 www.xxx.com/index/new/id/5

看似是靜態頁面其實是動態的在注入的時候照常進行就可以。

  sapl手工注入的第一步就是要判斷是否存在注入,常用的方法是在url後加 and 1=1 和 and 1=2,如果加and 1=1是返回正確的頁面,加and 1=2後返回的頁面和之前不同,那就是存在注入,其中的2可以換成任何值只要不是1就可以,原理是什麼就不用我在多說了吧,打這麼多字真的很累。

  判斷存在注入後,我們就要通過orde by num 來看看他的數據庫中有多少個表order by 後面要跟一個數字,這個數字就是表的數目,判斷表的數目如果那個數是10的時候返回正確頁面,11的時候返回錯誤頁面,那麼他的數據庫的表的個數就是10個。

   猜解出表的個數之後,接下來就要猜解他的表名,所用到的語句是union select 1、2、3、4、5、6、7、8、9、10 這時在錯誤的頁面中會顯示1到10中的若干個數字,然後將顯示出的數字在url中用database(),user(),version(),@@version_compile_os他們會相應的在頁面中顯示數據庫名,數據庫用戶,數據庫版本,和操作系統。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章