一、前期侦查

为了减少和目标系统的交互(防止触发报警),建议将目标站点镜像一份到本地

httrack(镜像网站到本地)  ====> 根据引导填入相关信息即可,使用非常简单

二、扫描

扫描分两种:一种是主动扫描,一种是截断代理

三、扫描工具

* Nikto(弱点扫描,输出结果全部为弱点项)

perl语言开发的开源web安全扫描器

扫描软件版本

搜索存在安全隐患的文件(比如系统管理员将后台代码打包备份后忘了删留在web目录下的打包文件等可能泄露隐私的文件)

服务器配置漏洞

WEB Application层面的安全隐患

避免404误判原理:Nikto会先随机向目标请求若干类型的随机肯定不存在的文件,来获取不同扩展名的文件404的真实返回内容,这样在扫描时收到404后会和收集到的真实404库进行对比,能匹配到则为真404,否则为假404

(注意:很多服务器不遵守RFC标准,对于不存在的对象也会返回200,)(可以使用 -no404 参数关闭该功能)

使用说明:

nikto -host https://www.baidu.com  ====> 常规扫描方法

nikto -host https://www.google.com -useproxy http://localhost:1080  ====> 代理扫描方法

在扫描的时候可以输入以下值来与Nikto交互:

空格 =返回当前扫描状态

v -显示扫描过程的详细信息

d -显示扫描过程的巨详细信息

e -显示错误信息

p -显示进程信息

r -显示重定向信息

c -显示cookie信息

a -显示认证信息

q -退出

N -下一台主机

P -暂停

Nikto默认不支持自动输入用户名密码登录,想要扫描登录后的页面可以使用cookie的方式。 修改配置文件里的'#STATIC-COOKIE='可以实现带cookie扫描

例: STATIC-COOKIE="PHPSESSID"="3804689b6bbfe8729681b0b8d547b1d0";"security"="low"

配置文件路径:

/etc/nikto.conf

* Vega

JAVA编写的开源web扫描器

支持主动扫描和截断代理

支持爬站、处理表单、注入测试

支持SSL:http://vega/ca.crt

* Skipfish(经测试此工具极其牛逼,才300多K可以做到这个程度,google就是牛逼)

C语言编写

google开发的实验性的主动web安全评估工具

递归爬网

基于字典的探测

速度较快

多线程扫描

启发式自动内容识别

误报率低

用法:

Usage: skipfish [ options ... ] -W wordlist -o output_dir start_url [ start_url2 ... ]

例:

skipfish -o result http://172.20.163.44/dvwa/   ====>注意:默认无论指什么路径skipfish都会从根路径开始扫

-I:只检查包含'string'的URL

-X:不检查包含'string'的URL

-K:不对指定参数进行Fuzz测试

-D:跨站点爬另外一个域  ====>如果被扫描目标没有链接链到另外一个域名则不会主动去扫,默认爬到不是目标的域名不扫

-l:每秒最大请求数

-m:每个IP最大并发连接数

--config:指定配置文件

skipfish -o result @存储URL文件  ====> 可以通过@方式读取存放有待扫描URL文件来实现同时扫描多个目标

skipfish -o result -S complet.wl -W a.wl http://172.20.163.44  ====> 默认只扫描超链接能连接到的地方,可以通过-W的方式加字典来爬取隐藏的目录及文件

(可以通过'dpkg -L skipfish | grep wl'查看wl字典文件路径) (-W可以自动补充字典,当碰到字典里没有的会写入这个文件,供下次扫描使用)

身份认证:

1、提交表单

skipfish -o result --auth-form '需要密码的URL' --auth-user '用户名' --auth-pass '密码' --auth-verify-url '登陆成功后的URL'

(注意:如果程序不能自动找到用户名填写位置则需手工添加'--auth-form-target 表单名称'告诉程序具体是哪个表单,

以及手工添加'--auth-user-field 表单中的位置'/'--auth-pass-fields 表单中的位置'告诉程序应该填在该表单的哪个位置里,

表单名称以及表单位置通过F12后点击表单位置即可在源代码中看到)

举例:

skipfish -o result112 --auth-form http://172.20.163.44/dvwa/login.php --auth-form-target http://172.20.163.44/dvwa/login.php

--auth-user-field username --auth-user admin --auth-pass-field password --auth-pass password --auth-verify-url http://172.20.163.44/dvwa/index.php -I dvwa http://172.20.163.44/dvwa/

(注意:不知为啥表单名称和登陆URL一样,表单名称提取自"<form action='login.php' method='post'>==$0"中的'login.php',姑且认为表单名就是路径+action的值吧)

2、cookie登陆

skipfish -C 'cookie' -o test http://172.20.163.44   ===> cookie有多个值时要用多个'-C'来填充

举例:

skipfish -o bb -I dvwa -C "PHPSESSID=3804689b6bbfe8729681b0b8d547b1d0" -C "security=low" http://172.20.163.44/dvwa/

* Arachni(支持分布式扫描,感觉非常产品化的一个东西,特别适合企业使用)

特点:可以向其他主机安装agent,实现统一管理、分布式扫描,安装简单

安装:

http://www.arachni-scanner.com/download/

解压出来后在该文件夹下的bin目录里执行arachni_web即可开启web端口

agent运行命令: ./arachni_rpcd --address=服务器IP --port=本地监听端口 --nickname=test1

agent分组运行命令: ./arachni_rpcd --address=服务器IP --neighour=你要和谁在一组就写谁的IP:PORT,第一个agent肯定是以单个形式注册的,剩余的才是和第一个建组 --nickname=test2

小技巧:php因为是服务端脚本语言,所以它的代码不会在浏览器被执行,要想打印出php脚本代码,只需在路径后加上'?-s'即可

例:http://172.20.163.44/dvwa/login.php?-s

几款常见web扫描器的简要记录的更多相关文章

  1. 如果你不知道这11款常见的Web应用程序框架 就说明你out了

    本文推荐了11款常见的Web应用程序框架,并列出了相关的学习资料和下载文档.如果对这些项目还不熟悉,就赶紧学起来吧~ Rails Rails是Ruby on Rails的简称,是一款开源的Web应用框 ...

  2. 常见web安全隐患及解决方案

    Abstract 有关于WEB服务以及web应用的一些安全隐患总结资料. 1. 常见web安全隐患 1.1.       完全信赖用户提交内容 开发人员决不能相信一个来自外部的数据.不管它来自用户提交 ...

  3. 【常见Web应用安全问题】---4、Directory traversal

    Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些.  常见Web应用安全问题安全性问题的列表: 1.跨站脚本攻击(CSS or XSS, Cross Si ...

  4. Web前端理论知识记录

      Web前端理论知识记录 Elena· 5 个月前 cookies,sessionStorage和localStorage的区别? sessionStorage用于本地存储一个会话(session) ...

  5. 【常见Web应用安全问题】

    Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些. 常见Web应用安全问题安全性问题的列表: 1.跨站脚本攻击(CSS or XSS, Cross Sit ...

  6. 图解 HTTP 笔记(八)——常见 Web 攻击技术

    本章主要讲解 HTTP 通信过程中的一些常见 Web 攻击技术 一.跨站脚本攻击 跨站脚本攻击(Cross-Site Scripting, XSS)是指通过存在安全漏洞的 Web 网站注册用户的浏览器 ...

  7. 十大常见web漏洞及防范

    十大常见web漏洞 一.SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击.SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞.在设计程序,忽略了 ...

  8. 一款带Web面板的轻量级、高性能内网穿透工具:nps使用教程

    说明:内网穿透工具之前已经介绍了不少了,比如Frp.lanproxy.Holer等,现在再介绍个带Web面板的穿透工具nps,之前叫easyProxy,只是改名了而已,该工具是一款使用go语言编写的轻 ...

  9. 常见web安全隐患及解决方案(转)

      Abstract 有关于WEB服务以及web应用的一些安全隐患总结资料. 1. 常见web安全隐患 1.1.       完全信赖用户提交内容 开发人员决不能相信一个来自外部的数据.不管它来自用户 ...

随机推荐

  1. Beeline里面执行hive脚本 函数nvl2()与replace()报错

    Beeline里面执行hive脚本函数nvl2()与replace()报错 写脚本的时候是在impala里面执行的,都正常,但是转换为调度的时候是在beeline里面执行的 就会有问题了. 详情如下: ...

  2. IT兄弟连 HTML5教程 CSS3属性特效 动画-animation

    CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation.前面已经介绍过Transform和Transition了,这里我们来学习Animation动画.通 ...

  3. strcat函数(字符串连接函数)

    srtcat函数原型在c中的<string.h>中. 语法: strcat(字符串a,字符串b): #include <stdio.h> #include <string ...

  4. 灵魂拷问:创建 Java 字符串,用""还是构造函数

    在逛 programcreek 的时候,我发现了一些小而精悍的主题.比如说:创建 Java 字符串,用 "" 还是构造函数?像这类灵魂拷问的主题,非常值得深入地研究一下. 01.& ...

  5. 深入理解 ZK集群中通过Processor保证数据一致性

    入口 书接上篇博客中的ZK集群启动后完成数据的统一性恢复后,来到启动ZkServer的逻辑,接下来的重点工作就是启动不同角色的对应的不同的处理器Processor 如上图查看ZooKeeperServ ...

  6. 关于 Python_你一定没读过的8个技巧

    介绍 Python 功能和小技巧的文章网上有无数篇,比如变量解压缩,partial 偏函数,枚举可迭代对象... 但关于 Python 我们能说的还有很多.所以今天我将向大家展示一些我知道和有使用过的 ...

  7. ARTS改版啦,在改变中前行

    这次打卡,稍微进行了一次改版,在算法和英文文档上进行了拆分,具体的内容在前两天的文章里已经输出,所以在这篇上针对这两块做了一个汇总. 当然,技巧方面的还是在这里先输出,后续再考虑整改吧.循序渐进地上升 ...

  8. Dynamics 365 Customer Engagement V9.X新引入的自动编号属性介绍

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  9. Assets.xcassets:-1: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x

    Assets.xcassets:-1: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x 不知道assets发生了 ...

  10. Rsync实现文件的同步

    故事背景:我们公司是做新零售的,需要对发布的每台机器进行文件的同步更新,所以我这里做了一个小小的调研 技术调研:linux之间同步文件有两种方式rsync与scp. sync和scp在文件夹均不存在时 ...