20169212 2016-2017-2 《網絡攻防實踐》第十二週實驗 SQL注入

SQL注入實驗

實踐要求

參考資源中的「SQL注入攻擊實驗.pdf 」, 提交SQL注入成功截圖,並加上本身的學號水印。
在本次實驗中,咱們修改了phpBB的web應用程序,而且關閉了phpBB實現的一些對抗SQL注入的功能。於是咱們建立了一個能夠被SQL注入的phpBB版本。儘管咱們的修改是人工的,可是它們表明着web開發人員的一些共同錯誤。學生的任務是發現SQL注入漏洞,實現攻擊者能夠達到的破壞,同時學習抵擋這樣的攻擊的技術。php

實驗環境

SEED Ubuntu鏡像mysql

  • 環境配置
    實驗須要三樣東西,
    Firefox、apache、phpBB2(鏡像中已有):
    ①運行Apache Server:鏡像已經安裝,只需運行命令%sudo service apache2 start
    ②phpBB2 web應用:鏡像已經安裝,經過http://www.sqllabmysqlphpbb.com訪問,應用程序源代碼位於/var/www/SQL/SQLLabMysqlPhpbb/
    ③配置DNS:上述的URL僅僅在鏡像內部能夠訪問,緣由是咱們修改了/etc/hosts文件使http://www.sqllabmysqlphpbb.com指向本機IP 127.0.0.1。若是須要在其餘機器訪問,應該修改hosts文件,使URL映射到phpBB2所在機器的IP。web

  • 關閉對抗措施PHP提供了自動對抗SQL注入的機制,被稱爲magic quote
    ,咱們須要關閉它。
    1.找到/etc/php5/apache2/php.ini
    2.找到magic_quotes_gpc = On這一行
    3.改成
    magic_quotes_gpc = Off
    sql

4.重啓Apache:數據庫

sudo service apache2 restart

  • Note for Instructors最好擁有一些背景知識
    1.使用虛擬機,Firefox的插件LiveHttpHeaders和Tamper Data
    2.對SQL語句的一些瞭解
    3.如何操做MySQL數據庫
    4.對PHP一些瞭解apache

    實驗過程及結果

    對SELECT語句的攻擊

    這次任務,你須要經過訪問虛擬機內的
    URL:www.sqllabmysqlphpbb.com
    。在進入
    phpBB
    以前系統會要求你登錄。這個登錄認證由服務器上的
    login.php
    實現,須要用戶輸入用戶名
    和密碼來經過認證。
    去網上尋找了答案,答案的是在用戶名輸入ted'#,密碼空着就行,ted是一個已經存在的用戶名,用單引號結束這個字符串,用#轉義掉後面的語句。

    服務器

對UPDATE語句的攻擊

當用戶想要在phpBB2中修改他們的資料時,能夠點擊Profile,而後填寫表單修改。
學習

用戶發送修改請求後,會執行include/usercp_register.php中的一條UPDATE SQL語句。在這條語句中一樣有一個SQL注入漏洞,請用它來達到如下目標:在不知道其餘人密碼的狀況下修改其資料。
提交後發現SQL語句的結構,根據分析語句結構,分析出注入漏洞在
插件

查看Memberlist表單,發現id號
rest

經過此漏洞便可經過更改id號更改信息,此處咱們修改admin的信息

修改爲功。

相關文章
相關標籤/搜索