- 浏览: 288019 次
文章分类
- 全部博客 (276)
- burp+hydra暴力破解 (1)
- kali linux工具集 (6)
- kali (59)
- linux (54)
- password (14)
- web (63)
- 渗透测试 (50)
- windows (40)
- metasploit (9)
- 信息收集 (32)
- burp suit (4)
- 安全审计 (9)
- https://github.com/secretsquirrel/the-backdoor-factory (0)
- nmap (4)
- arachni (2)
- 工具 (5)
- sql (3)
- 网络 (2)
- 后渗透测试 (10)
- 内网 (5)
- 无线 (2)
- C (3)
- bios (1)
- RoR (12)
- mongodb (1)
- linxu (1)
- gdb (1)
- linux,虚拟化 (1)
- python (4)
最新评论
快速开始
帮助
使用-h来查看arachni功能
arachni -h
当扫描进行时,可以使用回车键来暂停/恢复,中断,延缓执行,以及查看一个发现的问题的总结。
可以这样运行arachni:
将会加载所有的checks,在/plugins/defaults下的插件,审计所有的表单,链接以及cookie。
下面的例子中,将会使用所有的的checks,审计链接/表单/cookie,跟随子域名,以及显示各种信息来扫描http://test.com。结果将会保存在test.com.afr文件中:
afr文件可以用于生成几种文件格式的报告,例如:
查看报告的组件:
使用*和-简化加载checks过程:
使用*来加载所有的xss checks:
使用*来加载所有的主动checks:
只排除csrf check:
更多资源查看:http://support.arachni-scanner.com/kb/general-use和
命令手册:
通用
版本:(--version)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
输出arachni的banner和版本信息
授权来自 (--authorized-by)
Expects: string
Default: disabled
Multiple invocations?: no
传到这个参数的字符串将会被用于HTTP头中的From域的值。其值应该是授权扫描人的邮件
输出
额外信息 (--output-verbose)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
当允许冗余信息,arachni将会输出整个过程中的细节信息。
例如:
将会加载xss checks以及审计所有的表单来扫描http://testfire.net/
冗余信息关闭
上述运行中没有--output-verbose标志位
arachni输出信息分为几类,每一类都有一个不同颜色的前缀:
状态信息
[~] 情报信息
[+] 成功信息
[v] 冗余信息
[!] 调试信息
[-] 错误信息
我们不讨论颜色问题
冗余信息模式开启
观察这次运行中的额外信息:
[v]信息是额外信息
调试 (--output-debug)
Expects: integer
Default: 1
Multiple invocations?: no
当设置该标志位时,系统将会输出许多细节信息。细节的级别为1~3。如果不想淹没在烦人和无聊的信息中,可以使用管道来把调试信息输出到一个独立的文件:
arachni http://example.com --output-debug 2> debug.log
明确的问题 (--output-only-positives)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
除了成功信息外压缩其他的信息--只显示发现的问题
范围
不使用"/"封装的ruby正则表达式
Include (--scope-include-pattern)
Expects: pattern
Default: disabled
Multiple invocations?: yes
把扫描的范围限制为匹配模式的url资源
子域名包含 (--scope-include-subdomains)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
扫描子域名
排除 (--scope-exclude-pattern)
Expects: pattern
Default: disabled
Multiple invocations?: yes
排除匹配正则表达式的url
通过内容排除页面 (--scope-exclude-content-pattern)
Expects: pattern
Default: disabled
Multiple invocations?: yes
排除匹配模式的web页面
Exclude binaries (--scope-exclude-binaries)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
排除包含二进制内容的页面
Note: 二进制内容可能对实施模式匹配的被动check造成困惑
冗余 (--scope-redundant-path-pattern)
Expects: pattern:integer
Default: disabled
Multiple invocations?: yes
该选项为一个正则表达式和一个数字,例如: --scope-redundant-path-pattern='calendar.php:3'
将会导致包含calendar.php的页面只爬虫三次
当扫描很多类似图库或动态生成日历的时候,该选项很有用
Auto-redundant (--scope-auto-redundant)
Expects: integer
Default: disabled (如果没指定,则默认为10)
Multiple invocations?: no
该选项限制扫描时相同参数的url资源的扫描次数。可以避免例如相册或目录造成的无限循环
例如当设置--scope-auto-redundant=2时,下列的url中:
检查时只包含:
目录深度限制 (--scope-directory-depth-limit)
Expects: integer
Default: infinite
Multiple invocations?: no
限制扫描器扫描的网站的深度
页面限制 (--scope-page-limit)
Expects: integer
Default: infinite
Multiple invocations?: no
限制扫描页面数目
扩展路径 (--scope-extend-paths)
Expects: filepath
Default: disabled
Multiple invocations?: yes
通过使用指定文件为种子来扩展扫描范围。
必须一行一个路径
限制扫描路径 (--scope-restrict-paths)
Expects: filepath
Default: disabled
Multiple invocations?: yes
Uses the paths contained within the given file instead of performing a crawl.
不使用爬虫,取而代之的是指定文件包含的扫描路径
必须一行一个路径
重写URL (--scope-url-rewrite)
Expects: pattern:substitution
Default: disabled
Multiple invocations?: yes
This option expects a pattern and a substitution, like so:
参数为一个正则表达式和一个替代,例如--scope-url-rewrite='/articles\/[\w-]+\/(\d+)/:articles.php?id=\1'
上述规则将会把urlhttp://test.com/articles/some-stuff/23重写为http://test.com/articles.php?id=23.
DOM深度限制 (--scope-dom-depth-limit)
Expects: integer
Default: infinite
Multiple invocations?: no
将会限制扫描每个页面的DOM结构深度。
HTTPS (--scope-https-only)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
迫使系统仅扫描https
目标url必须是https
审计
审计链接 (--audit-links)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
开启审计链接
审计表单 (--audit-forms)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
开启审计表单
审计cookies (--audit-cookies)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
开启审计cookie
广泛审计cookie (--audit-cookies-extensively)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
If enabled the system will submit all links and forms of the page along with the cookie permutations.
如果开启,系统将会使用cookie提交页面中所有的链接和表单。
将会严重增加扫描时间
审计头部信息 (--audit-headers)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
审计http请求头部信息
Note: 头部信息审计使用暴力破解. 即使web程序没有使用的合法的http头也会被审计
Warning: 开启该选项会增加请求个数
链接模板 (--audit-link-template)
Expects: pattern
Default: disabled
Multiple invocations?: yes
该选项允许提取/审计基于使用名称组(name groups)的ruby正则表达式过滤的路径中的输入
从http://test.com/input1/value1/input2/value2中提取input1和input2,使用:
/input1\/(?<input1>\w+)\/input2\/(?<input2>\w+)/
两种方法 (--audit-with-both-methods)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
如果开启,系统将会使用GET/POST提交所有元素。
Warning:会严重增加扫描时间
排除向量 (--audit-exclude-vector)
Expects: pattern
Default: disabled
Multiple invocations?: yes
不审计输入名字符合正则表达式的向量
包含向量 (--audit-include-vector)
Expects: pattern
Default: disabled
Multiple invocations?: yes
只审计输入名字符合正则表达式的向量
HTTP
User agent (--http-user-agent)
Expects: string
Default: "Arachni/<version>"
Multiple invocations?: no
指定HTTP请求中User-Agent部分
请求并发数 (--http-request-concurrency)
Expects: integer
Default: 20
Multiple invocations?: no
Sets the maximum amount of requests to be active at any given time; this usually directly translates to the amount of open connections.
设定某个时间请求最大个数;通常直接等于开放链接个数。
Note: 如果扫描没有相应,那么降低个数来缓解服务器压力
Warning: 加入有足够带宽和一个较高的并发数设置,扫描将会造成DOS。
请求超时 (--http-request-timeout)
Expects: integer (milliseconds)
Default: 50000
Multiple invocations?: no
设置客户端等待服务器应答的时间
请求重定向限制 (--http-request-redirect-limit)
Expects: integer
Default: 5
Multiple invocations?: no
限制每个请求重定向的次数
请求队列大小 (--http-request-queue-size)
Expects: integer
Default: 500
Multiple invocations?: no
客户端队列的最大请求个数
Note: 多意味着更好的调度和更好的性能, 少意味着较少的RAM消耗
请求头 (--http-request-header)
Expects: string
Default: disabled
Multiple invocations?: yes
运行以键值对的格式指定请求头
例如--http-request-header='field_name=field value'
响应最大大小 (--http-response-max-size)
Expects: integer
Default: infinite
Multiple invocations?: no
限制客户端接收响应体的大小。实质上,客户端不会下载Content-Length大于指定值的响应body。
Cookie jar (--http-cookie-jar)
Expects: filepath
Default: disabled
Multiple invocations?: no
arachni允许传递Netscape cookie-jar file格式的cookie。如果想审计网站登录后的部分,那么应该传递session cookie给arachni。
Note:如果觉得设置cookie-jar不适应,可以使用proxy或autologin插件来登录web应用程序
Cookie字符串 (--http-cookie-string)
Expects: string
Default: disabled
Multiple invocations?: no
Cookies作为字符串发送
例如--http-cookie-string='userid=19;sessionid=deadbeefbabe'
认证user名 (--http-authentication-username)
Expects: string
Default: disabled
Multiple invocations?: no
HTTP认证用的用户名
认证密码 (--http-authentication-password)
Expects: string
Default: disabled
Multiple invocations?: no
HTTP认证用的密码
Proxy (--http-proxy)
Expects: server:port
Default: disabled
Multiple invocations?: no
为客户端设置http代理
代理认证 (--http-proxy-auth)
Expects: username:password
Default: disabled
Multiple invocations?: no
为指定的代理服务器设置认证口令
代理类型 (--http-proxy-type)
Expects: http, http_1_0, socks4, socks5, socks4a
Default: auto
Multiple invocations?: no
设置指定的代理服务器的类型
Input
值 (--input-value)
Expects: pattern:value
Default: disabled
Multiple invocations?: yes
设置匹配模式的输入的值
值 (--input-values-from-file)
Expects: filepath
Default: disabled
Multiple invocations?: no
含有正则表达的hash object的YAML文件,来匹配输入名作为名字,值作为值
不使用默认 (--input-without-defaults)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
如果开启,不使用系统默认值
强制 (--input-force)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
强制系统填写甚至不为空的表单
Checks
列表 (--checks-list)
Expects: pattern
Default: disabled
Multiple invocations?: yes
罗列所有可用的checks。如果提供选项,那么将会作为正则表达式来过滤显示的checks
加载 (--checks)
Expects: string,string
Default: * (all)
Multiple invocations?: no
加载给定名字的checks。
可以使用不含逗号分隔的值,或者*来加载全部. 通过前缀-来组织check被加载.
Note: check参照他们的文件名,不含rb后缀,使用--checks-list查看所有checks
例如:
插件
列举 (--plugins-list)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
罗列所有可用的plugins.
加载 (--plugin)
Expects: string
Default: disabled
Multiple invocations?: yes
加载给定插件,配置参数
Note: 参照他们的文件名,不含rb后缀,使用--plugins-list查看所有
例如排除logout url以及使用autologin插件来登录程序:
arachni http://testfire.net --scope-page-limit=1 --checks=xss \
--plugin=autologin:url=http://testfire.net/bank/login.aspx,parameters='uid=jsmith&passw=Demo1234',check='Sign Off|MY ACCOUNT' \
--scope-exclude-pattern logout
平台
列举 (--platforms-list)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
罗列所有可用平台
Session
检查url (--session-check-url)
Expects: string
Default: disabled
Multiple invocations?: no
Requires: session-check-pattern
传递到这个选项的url将会被用于判断系统仍然登录到web应用程序
如果url的http响应体匹配session-check-pattern,那么表明系统是登录状态
Check模式 (--session-check-pattern)
Expects: string
Default: disabled
Multiple invocations?: no
Requires: session-check-url
一个正则表达式用于匹配session-check-url的body部分用于识别系统是否仍然是登录状态。匹配表明系统是登录状态
Profiles
保存 (--profile-save-filepath)
Expects: filepath
Default: disabled
Multiple invocations?: no
允许保存当前配置, 所有传递的参数保存到Arachni Framework Profile(.afp)文件
加载 (--profile-load-filepath)
Expects: filepath
Default: disabled
Multiple invocations?: no
允许加载和运行一个保存的profile文件.
Note: 该选项不影响设置更多的选项或重新保存profile文件
浏览器簇
Pool大小 (--browser-cluster-pool-size)
Expects: integer
Default: 6
Multiple invocations?: no
pool维护的浏览器进程的个数.
Job 超时 (--browser-cluster-job-timeout)
Expects: integer
Default: 120
Multiple invocations?: no
每个job的允许时间,单位秒
存活工作时间 (--browser-cluster-worker-time-to-live)
Expects: integer
Default: 100
Multiple invocations?: no
在进程重生之前每个进程应该处理的job数
Note: 主要用于防止一个浏览器进程占用太多RAM
忽略图片 (--browser-cluster-ignore-images)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
如果开启,浏览器不会加载图片
屏幕宽度 (--browser-cluster-screen-width)
Expects: integer
Default: 1600
Multiple invocations?: no
设置浏览器屏幕宽度
Note: 用于测试响应和web程序.
屏幕高度 (--browser-cluster-screen-height)
Expects: integer
Default: 1200
Multiple invocations?: no
设置浏览器屏幕高度
Note: 用于测试响应和web程序.
报告
保存路径 (--report-save-path)
Expects: string
Default: .
Multiple invocations?: no
设置存储报告的路径
Note: 可以使用arachni_reporter命令来使用生成的文件来生成不同格式的报告
快照
保存路径 (--snapshot-save-path)
Expects: string
Default: .
Multiple invocations?: no
设置暂停扫描的快照的保存路径
Note: 使用arachni_restore来指定快照开恢复扫描
超时
超时 (--timeout)
Expects: hours:minutes:seconds
Default: infinite
Multiple invocations?: no
运行扫描的最大时间
暂停 (--timeout-suspend)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
如果开启,那么当到达--timeout指定的时间时,扫描将会暂停,而不是中断。
帮助
使用-h来查看arachni功能
arachni -h
当扫描进行时,可以使用回车键来暂停/恢复,中断,延缓执行,以及查看一个发现的问题的总结。
可以这样运行arachni:
arachni http://test.com
将会加载所有的checks,在/plugins/defaults下的插件,审计所有的表单,链接以及cookie。
下面的例子中,将会使用所有的的checks,审计链接/表单/cookie,跟随子域名,以及显示各种信息来扫描http://test.com。结果将会保存在test.com.afr文件中:
arachni --output-verbose --scope-include-subdomains http://test.com --report-save-path=test.com.afr
afr文件可以用于生成几种文件格式的报告,例如:
arachni_reporter test.com.afr --report=html:outfile=my_report.html
查看报告的组件:
arachni_reporter --reporters-list
使用*和-简化加载checks过程:
使用*来加载所有的xss checks:
arachni http://example.net --checks=xss*
使用*来加载所有的主动checks:
arachni http://example.net --checks=active/*
只排除csrf check:
arachni http://example.net --checks=*,-csrf
更多资源查看:http://support.arachni-scanner.com/kb/general-use和
http://support.arachni-scanner.com/kb/
命令手册:
通用
版本:(--version)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
输出arachni的banner和版本信息
授权来自 (--authorized-by)
Expects: string
Default: disabled
Multiple invocations?: no
传到这个参数的字符串将会被用于HTTP头中的From域的值。其值应该是授权扫描人的邮件
输出
额外信息 (--output-verbose)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
当允许冗余信息,arachni将会输出整个过程中的细节信息。
例如:
arachni --audit-forms --checks=xss http://testfire.net/ --scope-page-limit=1
将会加载xss checks以及审计所有的表单来扫描http://testfire.net/
冗余信息关闭
上述运行中没有--output-verbose标志位
arachni输出信息分为几类,每一类都有一个不同颜色的前缀:
[+] 成功信息
[v] 冗余信息
[!] 调试信息
[-] 错误信息
我们不讨论颜色问题
引用
Arachni - Web Application Security Scanner Framework v1.0
Author: Tasos "Zapotek" Laskos <tasos.laskos@gmail.com>
(With the support of the community and the Arachni Team.)
Website: http://arachni-scanner.com
Documentation: http://arachni-scanner.com/wiki
Initializing...
Waiting for plugins to settle...
BrowserCluster: Initializing 6 browsers...
BrowserCluster: Initialization completed with 6 browsers in the pool.
[HTTP: 200] http://testfire.net/
[~] Identified as: windows, iis, asp, aspx
[~] Analysis resulted in 0 usable paths.
[~] DOM depth: 0 (Limit: 10)
XSS: Auditing form input 'txtSearch' pointing to: 'http://testfire.net/search.aspx'
XSS: Submitting form with original values for txtSearch at 'http://testfire.net/search.aspx'.
XSS: Submitting form with sample values for txtSearch at 'http://testfire.net/search.aspx'.
XSS: Auditing form input 'txtSearch' pointing to: 'http://testfire.net/search.aspx'
XSS: Auditing form input 'txtSearch' pointing to: 'http://testfire.net/search.aspx'
Harvesting HTTP responses...
[~] Depending on server responsiveness and network conditions this may take a while.
XSS: Analyzing response #2...
[~] XSS: Response is tainted, looking for proof of vulnerability.
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
XSS: Analyzing response #3...
XSS: Analyzing response #4...
XSS: Analyzing response #5...
[~] XSS: Response is tainted, looking for proof of vulnerability.
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
XSS: Analyzing response #6...
[~] XSS: Response is tainted, looking for proof of vulnerability.
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
Author: Tasos "Zapotek" Laskos <tasos.laskos@gmail.com>
(With the support of the community and the Arachni Team.)
Website: http://arachni-scanner.com
Documentation: http://arachni-scanner.com/wiki
[~] Analysis resulted in 0 usable paths.
[~] DOM depth: 0 (Limit: 10)
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
冗余信息模式开启
观察这次运行中的额外信息:
[v]信息是额外信息
引用
$ arachni --audit-forms --checks=xss http://testfire.net/ --scope-page-limit=1 --output-verbose
Arachni - Web Application Security Scanner Framework v1.0
Author: Tasos "Zapotek" Laskos <tasos.laskos@gmail.com>
(With the support of the community and the Arachni Team.)
Website: http://arachni-scanner.com
Documentation: http://arachni-scanner.com/wiki
Initializing...
Waiting for plugins to settle...
BrowserCluster: Initializing 6 browsers...
BrowserCluster: Initialization completed with 6 browsers in the pool.
[HTTP: 200] http://testfire.net/
[~] Identified as: windows, iis, asp, aspx
[~] Analysis resulted in 0 usable paths.
[~] DOM depth: 0 (Limit: 10)
XSS: Auditing form input 'txtSearch' pointing to: 'http://testfire.net/search.aspx'
[v] XSS: --> With: "<some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>" -> "arachni_text<some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>"
XSS: Submitting form with original values for txtSearch at 'http://testfire.net/search.aspx'.
[v] XSS: --> With: nil -> ""
XSS: Submitting form with sample values for txtSearch at 'http://testfire.net/search.aspx'.
[v] XSS: --> With: nil -> ""
XSS: Auditing form input 'txtSearch' pointing to: 'http://testfire.net/search.aspx'
[v] XSS: --> With: "()\"&%1'-;<some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>'" -> "arachni_text()\"&%1'-;<some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>'"
XSS: Auditing form input 'txtSearch' pointing to: 'http://testfire.net/search.aspx'
[v] XSS: --> With: "--><some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/><!--" -> "arachni_text--><some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/><!--"
Harvesting HTTP responses...
[~] Depending on server responsiveness and network conditions this may take a while.
XSS: Analyzing response #2...
[~] XSS: Response is tainted, looking for proof of vulnerability.
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
[v] XSS: Injected: "arachni_text<some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>"
[v] XSS: Proof: <some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>
[v] XSS: Request:
GET /search.aspx?txtSearch=arachni_text%3Csome_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714%2F%3E HTTP/1.1
Host: testfire.net
Accept-Encoding: gzip, deflate
User-Agent: Arachni/v1.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Cookie: ASP.NET_SessionId=e4h4wy45jmb5vkrg0wl1rj45;amSessionId=15420499882
XSS: Analyzing response #3...
XSS: Analyzing response #4...
XSS: Analyzing response #6...
[~] XSS: Response is tainted, looking for proof of vulnerability.
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
[v] XSS: Injected: "arachni_text--><some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/><!--"
[v] XSS: Proof: <some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>
[v] XSS: Request:
GET /search.aspx?txtSearch=arachni_text--%3E%3Csome_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714%2F%3E%3C%21-- HTTP/1.1
Host: testfire.net
Accept-Encoding: gzip, deflate
User-Agent: Arachni/v1.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Cookie: ASP.NET_SessionId=e4h4wy45jmb5vkrg0wl1rj45;amSessionId=15420499882
XSS: Analyzing response #5...
[~] XSS: Response is tainted, looking for proof of vulnerability.
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
[v] XSS: Injected: "arachni_text()\"&%1'-;<some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>'"
[v] XSS: Proof: <some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>
[v] XSS: Request:
GET /search.aspx?txtSearch=arachni_text%28%29%22%26%251%27-%3B%3Csome_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714%2F%3E%27 HTTP/1.1
Host: testfire.net
Accept-Encoding: gzip, deflate
User-Agent: Arachni/v1.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Cookie: ASP.NET_SessionId=e4h4wy45jmb5vkrg0wl1rj45;amSessionId=15420499882
Arachni - Web Application Security Scanner Framework v1.0
Author: Tasos "Zapotek" Laskos <tasos.laskos@gmail.com>
(With the support of the community and the Arachni Team.)
Website: http://arachni-scanner.com
Documentation: http://arachni-scanner.com/wiki
[~] Analysis resulted in 0 usable paths.
[~] DOM depth: 0 (Limit: 10)
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
[v] XSS: Injected: "arachni_text<some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>"
[v] XSS: Proof: <some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>
[v] XSS: Request:
GET /search.aspx?txtSearch=arachni_text%3Csome_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714%2F%3E HTTP/1.1
Host: testfire.net
Accept-Encoding: gzip, deflate
User-Agent: Arachni/v1.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Cookie: ASP.NET_SessionId=e4h4wy45jmb5vkrg0wl1rj45;amSessionId=15420499882
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
[v] XSS: Injected: "arachni_text--><some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/><!--"
[v] XSS: Proof: <some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>
[v] XSS: Request:
GET /search.aspx?txtSearch=arachni_text--%3E%3Csome_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714%2F%3E%3C%21-- HTTP/1.1
Host: testfire.net
Accept-Encoding: gzip, deflate
User-Agent: Arachni/v1.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Cookie: ASP.NET_SessionId=e4h4wy45jmb5vkrg0wl1rj45;amSessionId=15420499882
[+] XSS: In form input 'txtSearch' with action http://testfire.net/search.aspx
[v] XSS: Injected: "arachni_text()\"&%1'-;<some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>'"
[v] XSS: Proof: <some_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714/>
[v] XSS: Request:
GET /search.aspx?txtSearch=arachni_text%28%29%22%26%251%27-%3B%3Csome_dangerous_input_b2816f222dd9fce0ce8f0cda12aaf714%2F%3E%27 HTTP/1.1
Host: testfire.net
Accept-Encoding: gzip, deflate
User-Agent: Arachni/v1.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Cookie: ASP.NET_SessionId=e4h4wy45jmb5vkrg0wl1rj45;amSessionId=15420499882
调试 (--output-debug)
Expects: integer
Default: 1
Multiple invocations?: no
当设置该标志位时,系统将会输出许多细节信息。细节的级别为1~3。如果不想淹没在烦人和无聊的信息中,可以使用管道来把调试信息输出到一个独立的文件:
arachni http://example.com --output-debug 2> debug.log
明确的问题 (--output-only-positives)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
除了成功信息外压缩其他的信息--只显示发现的问题
范围
不使用"/"封装的ruby正则表达式
Include (--scope-include-pattern)
Expects: pattern
Default: disabled
Multiple invocations?: yes
把扫描的范围限制为匹配模式的url资源
子域名包含 (--scope-include-subdomains)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
扫描子域名
排除 (--scope-exclude-pattern)
Expects: pattern
Default: disabled
Multiple invocations?: yes
排除匹配正则表达式的url
通过内容排除页面 (--scope-exclude-content-pattern)
Expects: pattern
Default: disabled
Multiple invocations?: yes
排除匹配模式的web页面
Exclude binaries (--scope-exclude-binaries)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
排除包含二进制内容的页面
Note: 二进制内容可能对实施模式匹配的被动check造成困惑
冗余 (--scope-redundant-path-pattern)
Expects: pattern:integer
Default: disabled
Multiple invocations?: yes
该选项为一个正则表达式和一个数字,例如: --scope-redundant-path-pattern='calendar.php:3'
将会导致包含calendar.php的页面只爬虫三次
当扫描很多类似图库或动态生成日历的时候,该选项很有用
Auto-redundant (--scope-auto-redundant)
Expects: integer
Default: disabled (如果没指定,则默认为10)
Multiple invocations?: no
该选项限制扫描时相同参数的url资源的扫描次数。可以避免例如相册或目录造成的无限循环
例如当设置--scope-auto-redundant=2时,下列的url中:
引用
http://test.com/?stuff=1
http://test.com/?stuff=2
http://test.com/?stuff=other-stuff
http://test.com/?stuff=blah
http://test.com/?stuff=blah&stuff2=1
http://test.com/?stuff=blah&stuff2=2
http://test.com/?stuff=blah2&stuff2=bloo
http://test.com/path.php?stuff=blah&stuff2=1
http://test.com/?stuff=2
http://test.com/?stuff=other-stuff
http://test.com/?stuff=blah
http://test.com/?stuff=blah&stuff2=1
http://test.com/?stuff=blah&stuff2=2
http://test.com/?stuff=blah2&stuff2=bloo
http://test.com/path.php?stuff=blah&stuff2=1
检查时只包含:
引用
http://test.com/?stuff=1
http://test.com/?stuff=2
http://test.com/?stuff=blah&stuff2=1
http://test.com/?stuff=blah&stuff2=2
http://test.com/path.php?stuff=blah&stuff2=1
http://test.com/?stuff=2
http://test.com/?stuff=blah&stuff2=1
http://test.com/?stuff=blah&stuff2=2
http://test.com/path.php?stuff=blah&stuff2=1
目录深度限制 (--scope-directory-depth-limit)
Expects: integer
Default: infinite
Multiple invocations?: no
限制扫描器扫描的网站的深度
页面限制 (--scope-page-limit)
Expects: integer
Default: infinite
Multiple invocations?: no
限制扫描页面数目
扩展路径 (--scope-extend-paths)
Expects: filepath
Default: disabled
Multiple invocations?: yes
通过使用指定文件为种子来扩展扫描范围。
必须一行一个路径
限制扫描路径 (--scope-restrict-paths)
Expects: filepath
Default: disabled
Multiple invocations?: yes
Uses the paths contained within the given file instead of performing a crawl.
不使用爬虫,取而代之的是指定文件包含的扫描路径
必须一行一个路径
重写URL (--scope-url-rewrite)
Expects: pattern:substitution
Default: disabled
Multiple invocations?: yes
This option expects a pattern and a substitution, like so:
参数为一个正则表达式和一个替代,例如--scope-url-rewrite='/articles\/[\w-]+\/(\d+)/:articles.php?id=\1'
上述规则将会把urlhttp://test.com/articles/some-stuff/23重写为http://test.com/articles.php?id=23.
DOM深度限制 (--scope-dom-depth-limit)
Expects: integer
Default: infinite
Multiple invocations?: no
将会限制扫描每个页面的DOM结构深度。
HTTPS (--scope-https-only)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
迫使系统仅扫描https
目标url必须是https
审计
审计链接 (--audit-links)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
开启审计链接
审计表单 (--audit-forms)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
开启审计表单
审计cookies (--audit-cookies)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
开启审计cookie
广泛审计cookie (--audit-cookies-extensively)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
If enabled the system will submit all links and forms of the page along with the cookie permutations.
如果开启,系统将会使用cookie提交页面中所有的链接和表单。
将会严重增加扫描时间
审计头部信息 (--audit-headers)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
审计http请求头部信息
Note: 头部信息审计使用暴力破解. 即使web程序没有使用的合法的http头也会被审计
Warning: 开启该选项会增加请求个数
链接模板 (--audit-link-template)
Expects: pattern
Default: disabled
Multiple invocations?: yes
该选项允许提取/审计基于使用名称组(name groups)的ruby正则表达式过滤的路径中的输入
从http://test.com/input1/value1/input2/value2中提取input1和input2,使用:
/input1\/(?<input1>\w+)\/input2\/(?<input2>\w+)/
两种方法 (--audit-with-both-methods)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
如果开启,系统将会使用GET/POST提交所有元素。
Warning:会严重增加扫描时间
排除向量 (--audit-exclude-vector)
Expects: pattern
Default: disabled
Multiple invocations?: yes
不审计输入名字符合正则表达式的向量
包含向量 (--audit-include-vector)
Expects: pattern
Default: disabled
Multiple invocations?: yes
只审计输入名字符合正则表达式的向量
HTTP
User agent (--http-user-agent)
Expects: string
Default: "Arachni/<version>"
Multiple invocations?: no
指定HTTP请求中User-Agent部分
请求并发数 (--http-request-concurrency)
Expects: integer
Default: 20
Multiple invocations?: no
Sets the maximum amount of requests to be active at any given time; this usually directly translates to the amount of open connections.
设定某个时间请求最大个数;通常直接等于开放链接个数。
Note: 如果扫描没有相应,那么降低个数来缓解服务器压力
Warning: 加入有足够带宽和一个较高的并发数设置,扫描将会造成DOS。
请求超时 (--http-request-timeout)
Expects: integer (milliseconds)
Default: 50000
Multiple invocations?: no
设置客户端等待服务器应答的时间
请求重定向限制 (--http-request-redirect-limit)
Expects: integer
Default: 5
Multiple invocations?: no
限制每个请求重定向的次数
请求队列大小 (--http-request-queue-size)
Expects: integer
Default: 500
Multiple invocations?: no
客户端队列的最大请求个数
Note: 多意味着更好的调度和更好的性能, 少意味着较少的RAM消耗
请求头 (--http-request-header)
Expects: string
Default: disabled
Multiple invocations?: yes
运行以键值对的格式指定请求头
例如--http-request-header='field_name=field value'
响应最大大小 (--http-response-max-size)
Expects: integer
Default: infinite
Multiple invocations?: no
限制客户端接收响应体的大小。实质上,客户端不会下载Content-Length大于指定值的响应body。
Cookie jar (--http-cookie-jar)
Expects: filepath
Default: disabled
Multiple invocations?: no
arachni允许传递Netscape cookie-jar file格式的cookie。如果想审计网站登录后的部分,那么应该传递session cookie给arachni。
Note:如果觉得设置cookie-jar不适应,可以使用proxy或autologin插件来登录web应用程序
Cookie字符串 (--http-cookie-string)
Expects: string
Default: disabled
Multiple invocations?: no
Cookies作为字符串发送
例如--http-cookie-string='userid=19;sessionid=deadbeefbabe'
认证user名 (--http-authentication-username)
Expects: string
Default: disabled
Multiple invocations?: no
HTTP认证用的用户名
认证密码 (--http-authentication-password)
Expects: string
Default: disabled
Multiple invocations?: no
HTTP认证用的密码
Proxy (--http-proxy)
Expects: server:port
Default: disabled
Multiple invocations?: no
为客户端设置http代理
代理认证 (--http-proxy-auth)
Expects: username:password
Default: disabled
Multiple invocations?: no
为指定的代理服务器设置认证口令
代理类型 (--http-proxy-type)
Expects: http, http_1_0, socks4, socks5, socks4a
Default: auto
Multiple invocations?: no
设置指定的代理服务器的类型
Input
值 (--input-value)
Expects: pattern:value
Default: disabled
Multiple invocations?: yes
设置匹配模式的输入的值
值 (--input-values-from-file)
Expects: filepath
Default: disabled
Multiple invocations?: no
含有正则表达的hash object的YAML文件,来匹配输入名作为名字,值作为值
不使用默认 (--input-without-defaults)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
如果开启,不使用系统默认值
强制 (--input-force)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
强制系统填写甚至不为空的表单
Checks
列表 (--checks-list)
Expects: pattern
Default: disabled
Multiple invocations?: yes
罗列所有可用的checks。如果提供选项,那么将会作为正则表达式来过滤显示的checks
加载 (--checks)
Expects: string,string
Default: * (all)
Multiple invocations?: no
加载给定名字的checks。
可以使用不含逗号分隔的值,或者*来加载全部. 通过前缀-来组织check被加载.
Note: check参照他们的文件名,不含rb后缀,使用--checks-list查看所有checks
例如:
arachni --checks=xss,sqli,path_traversal http://example.com/ arachni http://example.com/ arachni --checks=*,-backup_files,-xss http://example.com/(加载所有checks除了xss和backup_files)
插件
列举 (--plugins-list)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
罗列所有可用的plugins.
加载 (--plugin)
Expects: string
Default: disabled
Multiple invocations?: yes
加载给定插件,配置参数
Note: 参照他们的文件名,不含rb后缀,使用--plugins-list查看所有
例如排除logout url以及使用autologin插件来登录程序:
arachni http://testfire.net --scope-page-limit=1 --checks=xss \
--plugin=autologin:url=http://testfire.net/bank/login.aspx,parameters='uid=jsmith&passw=Demo1234',check='Sign Off|MY ACCOUNT' \
--scope-exclude-pattern logout
平台
列举 (--platforms-list)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
罗列所有可用平台
Session
检查url (--session-check-url)
Expects: string
Default: disabled
Multiple invocations?: no
Requires: session-check-pattern
传递到这个选项的url将会被用于判断系统仍然登录到web应用程序
如果url的http响应体匹配session-check-pattern,那么表明系统是登录状态
Check模式 (--session-check-pattern)
Expects: string
Default: disabled
Multiple invocations?: no
Requires: session-check-url
一个正则表达式用于匹配session-check-url的body部分用于识别系统是否仍然是登录状态。匹配表明系统是登录状态
Profiles
保存 (--profile-save-filepath)
Expects: filepath
Default: disabled
Multiple invocations?: no
允许保存当前配置, 所有传递的参数保存到Arachni Framework Profile(.afp)文件
加载 (--profile-load-filepath)
Expects: filepath
Default: disabled
Multiple invocations?: no
允许加载和运行一个保存的profile文件.
Note: 该选项不影响设置更多的选项或重新保存profile文件
浏览器簇
Pool大小 (--browser-cluster-pool-size)
Expects: integer
Default: 6
Multiple invocations?: no
pool维护的浏览器进程的个数.
Job 超时 (--browser-cluster-job-timeout)
Expects: integer
Default: 120
Multiple invocations?: no
每个job的允许时间,单位秒
存活工作时间 (--browser-cluster-worker-time-to-live)
Expects: integer
Default: 100
Multiple invocations?: no
在进程重生之前每个进程应该处理的job数
Note: 主要用于防止一个浏览器进程占用太多RAM
忽略图片 (--browser-cluster-ignore-images)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
如果开启,浏览器不会加载图片
屏幕宽度 (--browser-cluster-screen-width)
Expects: integer
Default: 1600
Multiple invocations?: no
设置浏览器屏幕宽度
Note: 用于测试响应和web程序.
屏幕高度 (--browser-cluster-screen-height)
Expects: integer
Default: 1200
Multiple invocations?: no
设置浏览器屏幕高度
Note: 用于测试响应和web程序.
报告
保存路径 (--report-save-path)
Expects: string
Default: .
Multiple invocations?: no
设置存储报告的路径
Note: 可以使用arachni_reporter命令来使用生成的文件来生成不同格式的报告
快照
保存路径 (--snapshot-save-path)
Expects: string
Default: .
Multiple invocations?: no
设置暂停扫描的快照的保存路径
Note: 使用arachni_restore来指定快照开恢复扫描
超时
超时 (--timeout)
Expects: hours:minutes:seconds
Default: infinite
Multiple invocations?: no
运行扫描的最大时间
暂停 (--timeout-suspend)
Expects: <n/a>
Default: disabled
Multiple invocations?: no
如果开启,那么当到达--timeout指定的时间时,扫描将会暂停,而不是中断。
发表评论
-
使用GCC/GNU-ld删除dead code
2016-05-09 17:18 644[url] https://gcc.gnu.org/ml/gc ... -
python 修饰器
2016-02-05 15:11 412def wrapper1(function): ... -
ubuntu 14.04 install e431 wifi driver
2016-01-25 20:59 447引用 sudo apt-get install linu ... -
git
2016-01-07 12:01 444http://finalshares.cn/attachmen ... -
嵌入式中使用gdb
2016-01-06 17:38 3685编译 For gdb: /path/to/gdb-sr ... -
linux change boot image
2016-01-02 00:55 5371. change grub2 引用vim /etc/defa ... -
binwalk --dd
2015-12-28 21:51 1398http://www.devttys0.com/2012/12 ... -
embeded LD_PRELOAD
2015-12-28 00:17 555引用 eve@eve:~/squashfs-root$ sud ... -
hardware hacking
2015-12-27 01:32 691For video stuff: https://www.yo ... -
ubuntu support kindle
2015-12-20 23:13 360引用apt-get install mtpfs -
linux 备份系统
2015-12-05 22:22 417引用备份 dd if=/dev/sda > myimag ... -
[译]root权限运行vlc
2015-11-30 22:19 1361原文地址:http://www.blackmoreops.co ... -
【转】关闭TCP Timestamps来节省一点带宽
2015-10-15 23:29 1626http://highscalability.com/blog ... -
[转]Terminal escape sequences – the new XSS for Linux sysadmins
2015-09-25 23:58 431https://ma.ttias.be/terminal-es ... -
ipython basic
2015-09-25 11:31 454Introspection引用 Using a questio ... -
static in C
2015-09-22 11:35 313jason@ubuntu:~/test$ cat a.c ... -
lxc重命名容器名
2015-09-20 00:25 804lxc-ls 使用文件夹名作为容器名。所以可以更改文件夹名称来 ... -
lxc更新apt源
2015-09-18 11:49 748最近一直在使用lxc创建容器,每次创建一个容器都需要把apt源 ... -
wireshark:Couldn't run /usr/bin/dumpcap in child process: Permission denied
2015-09-11 10:26 3346When start wireshark, I met an ... -
[转]调试python内存泄漏
2015-09-09 00:48 357http://chase-seibert.github.io/ ...
相关推荐
Arachni开源扫描器中文版 1. 部署方便,编译安装、直接运行都可以实现,多平台支持 2. 准确率较高,根据[sectool报告]...
Arachni是一款强大的开源Web应用安全扫描器,用于检测各种网络安全威胁。它的主要目标是帮助系统管理员和安全专业人员识别并修复网站上的潜在漏洞。在本案例中,我们讨论的是Arachni的特定版本——"arachni-1.5.1-...
Arachni是一款强大的开源Web应用安全扫描器,用于检测各种Web应用程序的安全漏洞。这款工具以其高效、全面的扫描能力和易用性而广受网络安全专家和开发者喜爱。在本压缩包"arachni-1.5.1-0.5.12-windows-x86_64.zip...
arachni作为一款开源的扫描软件,在判断web脚本漏洞上的效率和精确度还是让人称赞的,arachni作为一款主流的开源扫描软件,当然要跟随趋势,可以很好的和metasploit配合使用,通过msf plugin,与metasploit达到无缝...
Arachni是一个包含很多特性、模块化的、高性能的Ruby框架,目的是帮助渗透测试人员和管理者评估现代web应用程序的安全。Arachni是免费、源代码开源的,它支持所有主流操作系统,如:Windows、Mac OS X 、Linux,通过...
Arachni是一款强大的开源Web应用安全扫描器,主要用于检测网站上的各种安全漏洞。这款工具以其高效性和灵活性著称,能够帮助网络安全专业人员和开发者找出潜在的威胁,从而提高网站的安全性。"arachni-1.5.1-0.5.12-...
Arachni是一个多功能、模块化、高性能的Ruby框架,旨在帮助渗透测试人员和管理员评估web应用程序的安全性。同时Arachni开源免费,可安装在windows、linux以及mac系统上,并且可导出评估报告
arachni-1.6.1.3-0.6.1.1-windows-x86-64.exe
arachni, Web应用程序安全扫描程序框架 Arachni Web应用程序安全扫描仪框架版本主页博客Github文档代码文档支持作者 Twitter 版权许可证1.5.1http://arachni-scanner.comhttp://arachni-scanne
码头工人适用于Arachni扫描器的Docker构建阿拉奇尼Arachni是功能齐全的模块化高性能Ruby框架,旨在帮助渗透测试人员和管理员评估现代Web应用程序的安全性。 在这里查看出色的作品: 为什么默认的sqlite部署有很多...
Arachni 一个功能完整的模块化高性能Ruby框架,旨在帮助渗透测试人员和管理员评估现代Web应用程序的安全性。 它是免费的,其源代码公开并可供审阅。 它是多平台的,支持所有主要操作系统(MS Windows,Mac OS X和...
Arachni是一款强大的开源Web应用安全扫描器,用于检测各种Web应用程序的安全漏洞。该软件的名字“Arachni”来源于希腊神话中的蜘蛛女神阿瑞克妮(Arachne),象征着其在网络中像蜘蛛一样编织出复杂的扫描网络,寻找...
这是一个基于Mitmproxy和Arachni的被动式扫描器
arachni.bat
Arachni是一款强大的Web应用程序安全扫描工具,专用于检测各种网络安全漏洞。它的最新版本为"arachni-1.6.1.3-0.6.1.1-linux-x86-64",适用于Linux操作系统,特别是64位架构。这款工具的主要目标是帮助系统管理员、...
蜘蛛扫描仪 提供 Arachni Scanner 的 Docker 容器。
该脚本用于使您易于在python中使用Arachni api。 您可以使用以下方式。 from * import arachniclient = ArachniClient()client.target('target_url') # set target urlclient.start_scan() # start scanclient.get_...
Arachni-Web应用程序安全扫描程序框架 版 1.5.1 主页 博客 Github 文献资料 代码文件 支持 作者 ( ) 推特 版权 2010-2017 执照 Arachni公共源许可证v1.0-(请参阅LICENSE文件) 概要 Arachni是功能齐全...
Ruby是一种面向对象的、动态类型的编程语言,特别适合开发快速原型和Web应用程序。在Windows环境中,尽管Ruby不是原生的平台,但通过特定的工具和配置,也可以在Windows上搭建并运行Ruby应用。"ruby-windows-64"这个...