1. 程式人生 > >搭建sqli-labs環境來練習SQL注入

搭建sqli-labs環境來練習SQL注入

sqli-labs是什麼

SQLI-LABS是一個學習SQL注入的平臺:

  1. 基於錯誤的注入 (Union Select)

    1. String 字元型
    2. Intiger 數字型
  2. 基於錯誤的注入 (基於雙注入)

  3. 盲注: 1.基於布林型的 2.基於時間的

  4. 更新查詢注入.

  5. 插入查詢注入.

  6. 頭注入. 1.基於Referer的. 2.基於UserAgent的. 3.基於Cookie的.

  7. 二次注入

  8. 繞過WAF

    1. 繞過黑名單, Stripping comments, Stripping OR & AND ,Stripping SPACES and COMMENTS, Stripping UNION & SELECT
    2. Impidence mismatch
  9. 繞過addslashes()

  10. 繞過mysql_real_escape_string. (under special conditions)

  11. Stacked SQL injections.

  12. 次級通道提取

配置環境

系統Ubunbu 18.04 , 以下命令中肯定有多餘的命令,不過為了以防萬一還是安了

配置Apache:

sudo apt install apache2

sudo apt install apache2-dev  

開啟瀏覽器,輸入localhost可驗證是否安裝成功

配置mysql:

sudo apt install mysql-server mysql-client

sudo apt install php-mysql

sudo apt install php7.2-mysql

我下的這個預設版本是mysql 5.7,安裝的時候root預設密碼是空,同時,如果是你直接mysql -uroot -p然後按空格的話會提示你access denied的,原因是進行了許可權檢查

解決辦法是:

sudo mysql //這個命令可以直接進去,另一個進去的方法是使用/etc/mysql/debian.cnf這個檔案自動生成的賬號密碼

UPDATE mysql.user SET authentication_string=PASSWORD('root'), PLUGIN='mysql_native_password' WHERE USER='root';

//設定root密碼為root,PLUGIN='mysql_native_password'意思是關閉access denied的ya驗證

配置PHP:

sudo apt install php 

sudo apt install php-mysql

sudo apt install libapache2-mod-php

//sudo apt install php 現在是下載7.2版本,所以下面都是7.2

sudo apt-get install libapache2-mod-php7.2 php7.2-gd php7.2-mbstring php7.2-xml php7.2-mysql php7.2-dev

下載和使用sqli-libs:

現在的時間是2018/9/27,sqli-libs的原始碼是基於PHP5的和PHP7的相容有問題,詳細請看https://github.com/Audi-1/sqli-labs/issues/11。在Issue裡已經有人對這個相容問題已經做了解決,“MySQL functions were removed in PHP 7, but we can use MySQLi functions instead.”,並且貼出了相容後的程式碼,所以直接使用:

cd /var/www/html   // /var/www/html是apache的路徑

git clone https://github.com/Rinkish/Sqli_Edited_Version.git     //@Rinkish的貢獻

然後更改sqli-libs用的預設資料庫使用者名稱和密碼

sudo vim /sqli-labs/sql-connections/db-creds.inc

使用瀏覽器開啟localhost\sqli-labs\,點選安裝資料庫

Enjoy it

相關推薦

搭建sqli-labs環境練習SQL注入

sqli-labs是什麼 SQLI-LABS是一個學習SQL注入的平臺: 基於錯誤的注入 (Union Select) String 字元型 Intiger 數字型 基於錯誤的注入 (基於雙注入) 盲注: 1.基於布林型的 2.基於時間

sqli-labs————less 23(高階注入篇)

前言從這一關開始,我們進進入了短暫的高階注入部分,這一部分中將會陸續介紹一些更為巧妙的注入技巧。Less -23檢視一下原始碼:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://

關於使用佔位符解決SQL注入

總結: SQL已經預編譯好了,然後替換中間的佔位符,這個佔位符在編譯後就已經確定了它只是一個引數屬性。因此,用注入的程式碼去替換佔位符,這個SQL也不會再進行編譯了,所以也達不到注入的目的。 SQL注入並不是一個在SQL內不可解決的問題,這種攻擊方式的存在也不能完全歸

SQL注入之——sqli-labs-master 下載與安裝

轉載請註明出處:https://blog.csdn.net/l1028386804/article/details/84262285 注意事項,寫在前面。 php版本一定要設定成 7 以下,7之後的mysql_都改成了mysqli_**了,用7以上版本的話會報錯 **********

通過sqli-labs學習sql注入——基礎挑戰之less1

前言:            之前只是簡單瞭解過SQL注入,只僅僅侷限於會使用sqlmap等注入工具,但是手工注入方面就懂的很少了,所以準備通過sqli-lab這個注入平臺的學習好好研究下常見的手工注入方面的

本地搭建簡單SQL注入環境

      首先本地要有一個wamp server,因為SQL注入涉及到與資料庫互動,所以先從搭建測試資料庫開始。       開啟mysql console,輸入root賬戶密碼登陸。建立一個數據庫,並命名為fake,命令如下: create databa

通過sqli-labs學習sql注入——基礎挑戰之less1-10

雖然sql注入接觸過不少,其實也不太多,但是不繫統,那就通過sqli-libs系統學習總結一下吧 注:第一個就說得詳細一點,後面的有新知識才會說,所以第一個一定要看!!!如果第一個還有不明白的地方,歡迎評論提問,注意一定自己要先實踐。 我的學習的方法是什麼呢? 先自己嘗

通過sqli-labs學習sql注入——進階挑戰之less23-28a

這次我又來了,Advanced Injections(進階挑戰),就是一些過濾繞過的東西了,基礎挑戰看這個兩篇 通過sqli-labs學習sql注入——基礎挑戰之less1-10 通過sqli-labs學習sql注入——基礎挑戰之less11-22

搭建DVWA測試環境SQL注入之SQLmap入門

DVWA是一款滲透測試的演練系統,在圈子裡是很出名的。如果你需要入門,並且找不到合適的靶機,那我就推薦你用

sqli-labs—————Sql注入之盲注講解

盲注何為盲注?盲注就是在sql注入過程中,sql語句執行的選擇後,選擇的資料不能回顯到前端頁面。此時,我們需要利用一些方法進行判斷或者嘗試,這個過程稱之為盲注。盲注分為三類•基於布林SQL盲注•基於時間的SQL盲注•基於報錯的SQL盲注1、基於布林SQL盲注————構造邏輯判

為想學SQLite或練習SQL語言的朋友搭建簡單的命令列環境------在Windows, Linux, Android(用adb連線安卓手機)上玩轉SQLite資料庫的sqlite3命令列

       有言在先: 如果你是隻想玩玩SQL語句的lazy bone,  請直接看本文最後的"LAST部分"        之所以寫這篇文章, 是因為覺得SQLite實在是太棒了, 想學習資料庫的朋友們, 千萬不要錯過這麼優秀的資料庫。 對於初學者來說, SQLite

sqli-labssql注入——基礎挑戰之less11

5.暴庫中表uname=1admin'union select group_concat(table_name),database() from information_schema.tables where table_schema =database() # &&passwd=passw

SQL注入之sqlmap爆破sqli-labs-master

sqlmap是一款爆破mysql資料的神器。這裡我用sqlmap來演示爆破sqli-labs-master的資料庫。 GET型的sqlmap爆破。 1.列舉資料庫:Python sqlmay.py -u http://localhost/sqli-labs-master/L

滲透測試漏洞平臺DVWA環境安裝搭建及初級SQL注入

一:簡介       DVWA(Damn Vulnerable Web Application)是一個用來進行安全脆弱性鑑定的PHP/MySQL Web應用,旨在為安全專業人員測試自己的專業技能和工具提供合法的環境,幫助web開發者更好的理解web應用安全防範的過程。  

常見的sql注入環境搭建

常見的sql注入環境搭建 By : Mirror王宇陽 Time:2020-01-06 PHP+MySQL摘要 $conn = new mysqli('資料庫伺服器','username','password','database')

x3D 下載以及如何使用原版NetBeans IDE 搭建x3d編輯環境

target valid esp gre rtu ech rar emp https 安裝前: Overview X3D-Edit version 3.3 standalone application and Netbeans plugin are available

關於php7.0下Sqli-labs搭建的小問題

localhost set errno local into 除了 -o 進入目錄 小問題 由於前文中kali版本較新,默認安裝的是php7.0(this is the problem)PHP 5 的使用者可以使用 mysql extension,mysqli 和 PDO_

Sqli-labs搭建

oot sta org sql註入 format src ati 限制 png 說好的從零開始,那就從最基礎的sql註入開始唄##An introduction to SQL injection what is SQL injection? SQL Injection:就是

Redtiger SQL注入練習(一)

感覺會的東西太少了,以後要多練習,多寫部落格。要堅持學習,一定不能放棄,為夢想奮鬥。 redtiger  這個平臺早就開始做了,但是才做到第4關。。。。 第一關: 開啟題, 先隨便試,後來發現點選 Category 後的1 可以注入, 然後就是注入了,構造cat=1'' 還報錯,估

Redtiger SQL注入練習(二)

第六關: 點選 click me,構造url:user=1',返回user not found。user=1'',同樣。 猜測是數字型注入,構造order by , user=1 order by  X#,得出有5個欄位。 然後,user=0 union select 1,2,3,4,5#,說