Web应用程序一般以浏览器支持的语言(JavaScript等脚本语言及HTML等渲染标记语言)所编写。Web应用程序与浏览器的完美配合造就了B/S计算结构。html
Web体系结构中,浏览器做为客户端,和服务器端经过因特网或内联网上的HTTP/HTTPS应用层协议的请求与应答进行通讯。其中服务器端由Web服务器软件、Web应用程序及后端数据库构成,并经过表示层、业务逻辑层和数据层三层架构进行组织构建。java
最流行的浏览器客户端脚本语言JavaScript的引入使网页中能够为用户接口提供动态元素与客户端本地数据处理能力;Flash的引入提高了浏览器的动态展示效果;Ajax的诞生推进了浏览器端的可交互性。mysql
Web服务器软件被描述为HTTP守护程序,负责接收客户端对资源的请求、响应的返回和一些基本的解析处理。web
Web应用的核心是处于服务器端的业务逻辑,即Web应用程序,多采用表示层、业务逻辑层和数据层的三层体系结构。sql
Web应用体系结构存在的安全威胁有:shell
针对Web应用程序的攻击主要集中在身份验证、会话管理、数据库操做、输入数据合法/合理性检查。数据库
Web服务器平台中的安全漏洞主要有:windows
Web应用程序安全威胁从攻击技术角度能够分为6类:后端
代码注入利用Web应用程序的输入验证不完善漏洞,使得Web应用程序执行由攻击者所注入的恶意指令和代码,形成敏感信息泄露、权限提高或对系统的未受权访问等危害后果。浏览器
SQL注入漏洞是因为用户输入没有被正确的过滤以消除SQL语言中的字符串转义字符或没有进行严格的类型判断,从而使用户能够输入并执行一些非预期的SQL指令代码。
SQL注入攻击步骤:
Web浏览器也遭遇着软件安全困境三要素的问题,即复杂性、可扩展性和连通性。
网页木马
网页木马存在的技术基础是Web浏览端安全漏洞,其攻击是被动式的,本质特性是利用了现代Web浏览器软件中所支持的客户端脚本执行能力,针对Web浏览端软件安全漏洞实施客户端渗透攻击,从而取得在客户端主机的远程代码执行权限来植入恶意程序。
网页木马的本质核心是浏览器渗透攻击,其特性是:
网页挂马的机制主要有四种:
网页木马分析与检测技术方法:
BBQSql是一个Python编写的盲注工具,是一个半自动工具,容许客户自定义参数。
是一个数据库用户名密码枚举工具。
破解SQLSever数据库:
./dbpwaudit -s IP -d master(数据库名) -D mssql(数据库类型) -U username(字典) -P password(字典)
破解MySql数据库
./dbpwaudit.sh-s -s IP -d mysql(数据库名) -D MySQL(数据库类型) -U username(字典) -P password(字典)
图形化的密码破解与链接工具,开源。
jSQL是一款轻量级安全测试工具,由java写的开源工具,能够检测SQL注入漏洞。
是一个用Java开发的Oracle评估工具,它是基于插件的结构,当前有两个插件能够作:
一样是针对Oracle的SID进行暴力枚举的工具。SID为Oracle实例名,Oracle链接字符串经过实例名+用户+密码链接。
是一个用户名密码枚举工具,经过Wine运行。
容许用户向Oracle数据库中注入命令。
sqlsus是一个开源的MySQL注入和接管工具,使用perl编写,基于命令行界面。sqlsus能够获取数据库结构,注入本身的SQL语句,从服务器下载文件,爬行web站点可写目录,上传和控制后门,克隆数据库等。最好用的两点是注射获取数据速度快,自动搜索可写目录。
生成配置文件:
sqlsus -g test.conf
编辑配置文件:修改our $url_start = "";
写入地址。
启动并测试:
sqlsus test.conf
获取数据库数据:
查看所有数据库名字:
sqlsus> get databases
设定数据库:
sqlsus> set database database = "sql" sqlsus> set database mysql database = "mysql"
获取表:
sqlsus> get tables
sqlmap是sql注入方面的神器,但sqlninja也有本身的特色。sqlninja是一款perl编写的针对Microsoft SQL Server的sql注入工具。,其侧重于得到一个shell。可找到远程SQL服务器的标志和特征(版本、用户执行的查询、用户特权、xp_cmdshell的可用性、身份验证模式等)。用纯粹的ASCII GET/POST请求上载netcat.exe程序,不须要FTP链接。
在sqlninja生成的SQL代码上,执行的是自动化的URL编码,是的用户能够更精细的控制漏洞利用的字符串。若是获得权限为sa,能够结合msf进一步对目标主机进行渗透。
sqlninja参数不多:
-m #指定攻击模式,有如下几个 t/test #测试链接是不是注入点 f/fingerprint #指纹识别,判断用户,数据库,xp_cmdshell是否能用 b/bruteforce #暴力破解sa密码,能够-w指定字典 e/escalation #提权用,必须用-p制定sa的password,成功就会把当前数据库用户加入到sa组 x/resurrectxp #尝试恢复xp_cmdshell u/upload #使用get和post上传二进制文件,-p能够指定sa s/dirshell #得到目标主机的shell k/backscan #查看开放的目标端口 r/revshell #反弹回一个shell,和dirshell相反 d/dnstunnel #指定使用dns做为传输通道,可用-p指定sa的password i/icmpshell #dirshell和revshell失败,可用这个模式吧shell藏在icmp里 c/sqlcmd #能够用来执行简单的cmd命令,没有回显 m/metasploit #使用meterpreter做为shell -f #指定配置文件,注入网址卸载配置文件里,默认是sqlninja.conf 0 - 检测当前数据库版本 1 - 当前数据库用户 2 - 当前数据库用户权限 3 - 检查xp_cmdshell是否可用 4 - 是否windows本地系统权限 a - 以上全部选项 h - 显示当前帮助菜单 q - 退出 -p #sa帐户密码
sqlmap是一个开源渗透测试工具,主要用于自动化侦测和实施SQL注入攻击以及神偷数据库服务器,适用于高级渗透测试用户,能够得到不一样数据库的指纹信息,还能够从数据库中提取数据,处理潜在的文件系统以及经过外带数据链接执行系统命令等。
常见命令:
burp Suite是用于攻击web应用程序的集成平台。Burp S uite带有一个代理,经过默认端口8080上运行,,使用这个代理,咱们能够截获并修改从客户端到web应用程序的数据包。平台中全部工具共享同一robust框架。各个功能之间能够互相转发数据包。
设置完成后,访问百度:
点了forward以后网页才打开:
Prox提供一个直观、有好的用户界面,它的代理服务器包含很是详细的拦截规则,并能准确分析HTTP消息的结构与内容。
Spide爬行蜘蛛工具,能够用来抓取目标网站,一线是网站的内容,基本架构,和其余功能。
Scannery Web应用程序的安全漏洞进行自动发现工具。被设计用于渗透测试,适应执行手动和半自动化的web应用程序渗透测试。
Repeater可让你手动从新发送单个HTTP请求。
Intruder是burp套件的又是,能够自动实施各类定制攻击,可以以最细化、最简单的方式访问它产生的请求与相应,容许组合利用我的只能与该工具的控制有点。
Sequencer 对话令牌,回话表示服或其余出于安全缘由须要随机产生的键值得可预测性分析。
Decoder 转化成规范形式的编码数据,或转化成各类形式编码和三列的原始数据,它可以智能识别多种编码格式,使用自发式技术。
Comparer 是一个简单的工具,执行比较数据之间的任何两个项目。
OWASP是一款查找网页应用程序漏洞的综合类渗透测试工具,包含了拦截代理、自动处理、被动处理、暴力破解、端口扫描以及蜘蛛搜索等功能,是会话类调试工具,调式功能对网站不会发起大量请求,对服务器影响较小。
模糊测试是漏洞分析很重要的一步。
是一个纯文本协议的Fuzz工具,可以检查常见的漏洞,如缓冲区溢出,格式串漏洞,整数溢出等。
一、Sqlmap测试中靶机中找不到相应的目录。
二、burp suite测试时候,搜索东西直接就跳转了,没有先把包拦下来。