20169202 2016-2017-2《网络攻防》第五周学习总结

教材内容学习与总结

第十一章 Web应用程序安全攻防

Web应用程序依赖于浏览器对应用程序进行渲染执行。Web应用体系主要有浏览器完成数据显示与展现内容的渲染功能;服务器端则有Web服务器软件、 Web应用程序及后端数据库构成,并经过经典的三层架构(three-tiers),即表示层、业务逻辑层和数据层,来进行组织和架构。两者之间经过因特网或内联网上HTTP/HTTPS应用层协议的请求与应答进行通讯。php

Web攻防:

信息情报收集

手工审查Web应用程序结构与源代码
自动下载与镜像Web站点页面
使用GooGle Hacking技术审查雨天猜想Web应用程序html

攻击Web服务器软件

Web服务器平台安全漏洞:数据驱动的远程代码执行安全漏洞、服务器功能拓展模块漏洞、样本文件安全漏洞、源代码泄露、资源解析攻击。java

攻击Web应用程序

Web应用程序安全威胁从攻击者技术角度分为以下六类:针对认证机制攻击、受权机制攻击、客户端攻击、命令执行攻击、信息暴露、逻辑攻击。 最流行的的两类Web应用程序安全漏洞及攻击技术:SQL注入和XSS跨站脚本。mysql

攻击Web数据内容

具体包括安全敏感数据泄露、网站内容遭到篡改以及不良信息内容上传威胁。web

Web应用安全防范措施

  • Web站点网络传输安全防范措施:使用HTTPS,使用加密链接通道、对关键Web服务器设置静态绑定MAC-IP映射。
  • Web站点操做系统及服务安全设防措施:及时的补丁更新、进行远程阿奴那漏洞扫描、关闭不使用的服务、设置强口令字、部署防火墙、数据备份等。
  • Web应用程序安全设防措施:使用静态HTML、使用具备良好安全声誉及稳定技术支持力量的Web应用软件包、除非必要才使用自主或者外包Web应用程序、使用Web服务器软件提供的日志功能。
  • Web站点数据安全设防措施:提升维护人员数据安全意识、对维护网站数据安全实施平常监测和防御。

SQL 注入

SQL注入攻击步骤:

1 发现SQL注入点
2 判断后台数据库类型
3 后台数据库中管理员用户口令字猜解
4 上传ASP后门,获得默认帐户权限
5 本地权限提高
6 利用数据库扩展存储过程执行Shell命令sql

SQL 注入攻击工具

Wposion 能在动态web文档中找出SQL注入漏洞
wieliekoek.pl 以网站镜像工具生成的输入为输出,对表单页面注入字符串修改
SPIKE Proxy 对待注入的字符串进行定制
SPI Toolkit工具包shell

SQL注入攻击防范

使用类型安全的参数编码机制
完备检查来自外部的用户输入
将动态SQL语句替换为存储过程、预编译SQL或ADO命令对象
增强SQL数据库服务器的配置与链接数据库

XSS跨站脚本攻击

XSS攻击原理:是Web应用程序对用户数填入内容的安全认证与锅炉不完善

攻击类型:持久性XSS漏洞和非持久性XSS漏洞,或称为持久性XSS攻击和非持久性XSS攻击。

XSS攻击防范措施

服务器端:输入验证、输出净化、消除危险的输入点apache

客户端: 提示呢个浏览器的安全设置,如关闭cookie或者设置cookie只读等。后端

第十二章 Web浏览器安全攻防

Web浏览器软件安全困境三要素

复杂性、可扩展性、连通性。

Web安全威胁位置

传输网络的瓦那个罗协议安全威胁
Web浏览端系统平台的安全威胁
Web浏览器软件及插件程序的渗透攻击威胁
互联网用户涩会工程学攻击威胁

Web浏览端渗透攻击威胁

网页木马

网络钓鱼

网络钓鱼是社会工程学在互联网中普遍实施的一种典型攻击方式。

教材问题及解决

SQL注入攻击不太会,学习了@20169203@20169205@20169206三位大神的博客得以解决。

SQL注入

一、 运行 Apache Server:镜像已经安装,只需运行命令 %sudo service apache2 start
二、 phpBB2 web 应用:镜像已经安装,经过 http://www.sqllabmysqlphpbb.com 访问,应
用程序源代码位于/var/www/SQL/SQLLabMysqlPhpbb/
三、 配置 DNS: 上述的 URL 仅仅在镜像内部能够访问,缘由是咱们修改了/etc/hosts
文件使 http://www.sqllabmysqlphpbb.com 指向本机 IP 127.0.0.1。若是须要在其余机器访
问,应该修改 hosts 文件,使 URL 映射到 phpBB2 所在机器的 IP。

四、关闭对抗措施,建议使用sudo gedit php.ini,gedit有图形化,sudo是为了有权限保存。

xss实验

登录www.sqllabmysqlphpbb.com网站 须要用户名密码


登陆到论坛后发布一个帖子,帖子中包含如下内容:

<script>alert(’XSS’);</script>

视频学习总结

数据库评估软件

BBQSql

BBQSql是一个Python编写的盲注工具,当检测能够注入漏洞时会颇有用,同时BBQSql是一个半自动工具,容许客户自定义参数。
在应用层序中打开BBQSql按照要求输入1能够设置 HTTP参数,要设置URL输入3。也能够按照需求输入其余。

DBPwAudit(数据库用户名密码枚举工具)

使用参数:
破解SQL数据库
#./dbpwaudit -s IP master(数据库名) -D mssql(数据库类型) -U username(字典) -P password(字典)
破解MYSQL数据库
#./dbpwaudit.sh -s IP -d mysql(数据库名称) -D mysql(数据库类型) -U username(字典) -P password(字典)

HexorBase 图形化的密码破解与链接工具,开源

Jsql Injection

JSQL是一款轻量级的安全测试工具,能够检测SQL注入漏洞,它跨平台(Windows、Linux、Mac OS X 、Solaris),开源且免费。将存在注入漏洞的URL贴进来便可进行响应漏洞利用,图形化界面亲民,使用效率不高。

MDBTools

包括
MDB-Export,以及MDB-Dump,mdb-parsecsv,mdb-sql,mdb-tables等子工具,具体环境具体使用。

Oracle scanner

oscanner是一个用java开发的Oracle评估工具。它是基于插件的结构,当前两个插件能够:

-使得列举
-口令测试
-列举Oracle版本
-列举账号角色
-列举账号特权
-列举账号哈希
-列举审计信息
-列举口令策略
-列举数据库连接

SIDGusser

一样是针对oracle的SID进行暴力枚举工具。SID为oracle实例名,oracle链接字符串,经过实例名+用户名+密码链接。

SqlDICT:又一个用户名密码枚举工具,经过Wine运行。

听你上次买的10g

容许向oracle数据库注入命令。

SQLsus

SQLsus是一个开放源代码的MySql注入和人接管工具,SQLsus使用Perl编写,基于命令行界面。SQLsus能够获取数据库结构钢,注入本身的SQl语句,从服务器下载文件,爬行web站点可写目录,上传和控制后门,克隆数据库等。最好使用的亮点就是注射获取数据速度很是快,另外一个最大的特色是自动搜索可写目录。
生成配置文件:

编辑配置文件:

修改 our $url_start = "";写入地址。

地洞并测试
sqlsus test.conf
查看所有数据库名字

sqlsus> get databases
[+] Geting databases names
设定数据库

sqlsus> set database
database = "sql"
sqlsus> set database mysql
database = "mysql"
sqlsus>
获取表
sqlsus> get tables

sqlninja

在sql注入方面一直尊sqlmap为神器,但sqlninja也有本身的特色。
Sqlninja是一款perl编写的专门针对Microsoft Sql Server的sql注入工具。和市面上其余的诸如工具不一样,sqlninja没有将精力用在跑数据库上,而是侧重得到一个shell。sqlninja优势:
一个专门针对Microsoft Sql Server的sql注入工具。
能够远程sql服务器的标志和特征(版本、用户执行的查询、用户特权、xp-cmdshell的可用性、身份验证模式等)
“sa”口令的强力攻击
若是找到口令后,九江特权提高到“sa”
若是原始的xp-cmdshell被禁用后,就建立一个定制的xp-cmdshell。
使用纯粹的ASSCII GET/POST请求来上载netcat.exe程序(以及任何可执行程序),所以不须要FTP链接。
为了找到目标网络的防火墙所容许的端口,能够实施针对目标SQL,服务器TCP/UDP端口扫描。
逃避技术,使注入代码模糊不清,混淆/绕过机遇期阿宁的IPS和应用层防火墙。
采用“盲目执行”攻击模式,在其余模式失效时i,用于发布命令并执行诊断。
在sqlninja生成的代码上,执行自动化URL编码,用户可惊喜的控制漏洞利用的字符串。
获得权限sa,结合msf进一步对目标主机渗透。

sqlninja参数:

-m     指定攻击模式
    t/test    测试链接是不是注入点
    f/fingerprint    指纹识别,判断用户,数据库,xp_cmdshell是否能用
    b/bruteforce    暴力破解sa密码,-w指定字典,不适用字典sqlninja将会穷举。

Sqlmap

开源渗透测试工具,Python编写。自动化侦测实施Sql注入攻击及渗透数据库服务器,能够获取不一样数据库的指纹信息,还能够提取数据。

一、打开metasploitable2虚拟机,ifconfig 获取ip地址,在kali浏览器中输入 192.168.232.135/dvwa/login.php 进入,或者192.168.232.135 点击DVWA进入页面,输入用户名密码登陆。
    进入后将DVWA  Security  调至 low。

[](http://images2015.cnblogs.com/blog/954133/201704/954133-20170402141237133-571971944.png)

二、打开SQL Injection,在user ID分别输入1和1'查看区别,1'时出现报错,使用sqlmap命令检测漏洞。

为防止再次跳转到login页面,赋给其一个cookie 使它有当前cookie权限。

sqlmap -u "adress" --cookie='PHPSESSID=...;security=low'     (注意单双引号)

sqlmap -u "address" --cookie='PHPSESSID=xxxx;security=low' --current-db     //查看当前数据库
sqlmap -u "address" --cookie='PHPSESSID=xxxx;security=low' --current-user   //查看当前user
sqlmap -u "address" --cookie='PHPSESSID=xxxx;security=low' --dbs            //查看有哪些数据库
sqlmap -u "address" --cookie='PHPSESSID=xxxx;security=low' --users          //查看有哪些用户
sqlmap -u "address" --cookie='PHPSESSID=xxxx;security=low' --user --pass     //查看用户密码

sqlmap -u "address" --cookie='PHPSESSID=xxxx;security=low' --privileges       //查看本身的权限
sqlmap -u "address" --cookie='PHPSESSID=xxxx;security=low' --tables -D dvwa    //D指database,查询dvwa数据库中的表
sqlmap -u "address" --cookie='PHPSESSID=xxxx;security=low' --columns -T users -D dvwa   //查看的数据库中userss表(-T指tables)的字段信息
sqlmap -u "address" --cookie='PHPSESSID=xxxx;security=low' --dump -C user,password  -T users -D dvwa   //查看user和password字段
sqlmap -u "address" --cookie='PHPSESSID=xxxx;security=low' --sql-shell              //获得sqlshell可直接编写SQL语句
sql-shell> select load_file('/etc/passwd');

Web应用代理

Web应用代理工具分析数据包,修改数据包重放,暴力攻击在web安全测试中经常使用。能够用手机或者虚拟机链接应用代理,应用发送的数据包,均可以经过该工具重放。

Burp Suite

在8080端口上运行,能够截获并修改客户端到web应用程序的数据包。

  • 一、设置浏览器代理
  • 二、爬虫与扫描


  • 三、暴力破解表单帐户密码

  • 四、Repeater该报重放模块

在Proxy中找到刚刚的包(最新的)右键send to repeater。能够随意查看和修改,点击go查看。

  • 五、decoder模块;编码解码模块

  • 六、compare 模块;比较两个请求包
    列出两个包有什么不一样

  • 七、extender 插件模块

owaspZAP

是一款网页应用程序漏洞综合渗透测试工具,包含拦截代理、自动处理、被动处理、暴力破解、端口扫描、蜘蛛搜索等功能。是会话类调试工具,不会对网站发送大量请求,对服务器影响较小。

VEGA

开源的web应用程序安全测试平台,Vega能帮助验证SQL注入、跨站脚本(XSS)、敏感信息泄露和其余一些安全漏洞。Vega使用java编写,有GUI,能够在多平台下运行。Vega相似于Paros Proxy, Fiddler, Skipfish and ZAproxy。

Paros

基于java代理程序,评估web应用程序漏洞,支持HTTP/HTTPS。包括SQL注入,跨站点脚本攻击、目录遍历等。

Webscarad

代理软件,包含HTTP代理、网络爬行,网络蜘蛛、会话ID分析、自动脚本接口、模糊测试工具、web格式编码/解码、web服务描述语言、soap解析器功能。基于GNU协议,java编写,是webgoat工具之一。

FUZZ 模糊测试工具

bed.pl

纯文本协议fuzz工具,检查常见漏洞,缓冲区溢出、格式串漏洞、整数溢出等。

bed -s FTP -t 192.168.232.135 -p 21 -o 5     //-s测试插件;-t目标IP;-p端口;-o timeout

Fuzz_ipv6

THC出品针对IPV6协议的模糊测试工具

0hrwurm RTP的fuzz工具

powerfuzzer 图形化的fuzz工具

Wfuzz

针对WEB应用的模糊测试工具,暴力破解web应用,支持对网站目录,登陆信息,应用资源文件等暴力猜解,get及post参数猜解,sql注入,xss漏洞测试,依赖于字典。与burpsuite区别是,他更轻量级。

wfuzz -c -z file,commom.txt --hc 404 -o html http://www.baidu.com/FUZZ 2>res.html   //将要拆解的文件用FUZZ代替
wfuzz -c -z file,users.txt -z file,pass.txt --hc 404 http://www.site.com/log.asp?user=FUZZ&pass=FUZZ          //登陆页面口令猜解,或略404页面
wfuzz -c -cz range,1-10 --hc=BBB http://www.site.com/FUZZ{something}    //页面数目猜解

xsser

xsser -u "http://192.168.232.135/dvwa/vulnerabilities/xss_r/?name=" --cookie="PHPSESSID=268251cc1b75fe13ebc51cfff466389f;security=low" -v  //-v显示结果


视频学习问题及解决

Burp Suitepa爬虫及扫描的时候设置IP为127.0.0.1 端口号为8080 。proxy获取的包和输入的不一致,不能同步。解决:通过屡次 forword drop 以后就对了。

学习进度条

时间 学习目标时间 实际学习时间
第一周 12 16
第二周 12 13
第三周 12 12
第四周 12 10
第五周 12 16

参考资料

相关文章
相关标签/搜索