(網絡學習)二、web網絡攻防相關

課程:淺析SQLmap https://www.imooc.com/video/15394php

一、環境搭建

dvwa安裝

wget https://github.com/ethicalhack3r/DVWA/archive/master.zip
unzip master.zip -d /home/wwwroot/default/dvwa
cp -p config/config.inc.php.dist config/config.inc.php //修改數據庫信息

# 打開瀏覽器訪問:http://192.168.1.111/dvwa/setup.php,
# 看到第三列Database Setup: "admin//password" //記下登陸密碼

sudo cp /usr/local/php/etc/php.ini /usr/local/php/etc/php.ini.0
sudo vim /usr/local/php/etc/php.ini
修改到瀏覽器頁面的  Setup Check 都是綠色,reCAPTCHA key能夠忽略,默認時 + allow\_url\_include + 文件夾+文件寫入權限

驗證地址:http\://192.168.1.111/dvwa/setup.php

sqlite3安裝

sudo apt-get install libsqlite3-dev 
sudo apt-get install sqlite3 

驗證命令:
sqlite三、.h、.exit

sqlmap安裝

官方參考https://github.com/sqlmapproject/sqlmaphtml

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
mv sqlmap-dev /home/wwwroot/default/sqlmap
cd /home/wwwroot/default/sqlmap
pyenv local system //本文件夾2.7, 3.8運行報錯
pyenv versions

驗證命令:
python sqlmap.py -h 
python sqlmap.py -hh

二、命令測試

–dbs             枚舉數據庫管理系統數據庫
–tables            枚舉的DBMS數據庫中的表
–dump            轉儲數據庫表項
–dump-all          轉儲數據庫全部表項
–batch            從不詢問用戶輸入,使用全部默認配置
–smart            進行積極的啓發式測試,快速判斷爲注入的報錯點進行注入

具體參考: 《超詳細SQLMap使用攻略及技巧分享》simeon//2018-03-19python

#打開網頁控制檯,設置 [DVWA Security]=low,切換到sql注入項,
#獲取加u的url和cookieID
cd /home/wwwroot/sqlmap
./sqlmap.py -u "http://192.168.1.111/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" \
    --cookie "security=low; PHPSESSID=kibd4jqg824naa41a2h7uch7jh" --dbs

# 顯示某庫某表的所有數據
./sqlmap.py -u "http://192.168.1.111/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" \
    --cookie "security=low; PHPSESSID=kibd4jqg824naa41a2h7uch7jh" \
    -D last12 -T order_queue --dump

#網頁切換到XSS(stored)
 ./sqlmap.py -u "http://192.168.1.111/dvwa/vulnerabilities/xss_s/" --cookie="security=low; \
    PHPSESSID=kibd4jqg824naa41a2h7uch7jh" -- \
    data="txtName=11&mtxMessage=22&btnSign=Sign+Guestbook" --dbs

三、軟件防火牆

ngx_lua_waf參考:https://github.com/loveshell/ngx_lua_wafmysql

cd /home/wwwroot/cluster
# 集羣其餘
sed -ri "s/root\/tmp\/dk/home\/wwwroot\/cluster/g" `grep -rl "root\/tmp\/dk" .`
//把 rec.mysql.sh 端口 3306改成 3307

# 防火牆搭建
mkdir ngx_lua_waf && cp -rp ../openresty.b/* .
git clone https://github.com/loveshell/ngx_lua_waf.git 
cd ngx_lua_waf 
vim conf/waf/config.lua 
# :%s/local\/nginx/local\/openresty\/nginx/g 
//替換成docker內實際路徑
vim nginx.conf
# 根據官方,在nginx.conf的http段添加
    lua_package_path "/usr/local/nginx/conf/waf/?.lua";
    lua_shared_dict limit 10m;
    init_by_lua_file  /usr/local/nginx/conf/waf/init.lua; 
    access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;

# 創建logs/hack文件夾,權限777
cp -p ../rec.nginx.sh waf.sh
# 修改目錄和端口,啓動容器

默認配置下,測試:nginx

http://192.168.1.111:8084/test.php?id=../etc/passwd     //防火牆攔截
http://192.168.1.111:8084/i=../etc/passwd               //404頁
http://192.168.1.111:8084/index.html?id=1               //首頁
#攔截日誌
tailf logs/hack/localhost_2019-12-24_sec.log

實例及數據庫代碼上傳:
https://github.com/cffycls/ngx_lua_wafgit

相關文章
相關標籤/搜索