web安全攻防渗透+赵雨佳43

第二章

2.1 在Linux系统中安装LANMP

LANMP是Linux下Apache、Nginx、MySQL和PHP的应用环境,本节演示的是WDLinux的一款集成的安装包。

2.3 搭建DVWA漏洞环境

DVWA是一款开源的渗透测试漏洞练习平台,其中内涵XSS、SQL注入、文件上传、文件包含、CSRF和暴力破解等各个难度的测试环境。

2.4 搭建SQL注入平台

  sqli-labs是一款学习SQL注入的开源平台,共有75种不同类型的注入,在本书的同步网站下载完压缩包后并解压,复制源码然后将其粘贴到网站的目录中,进入MySQL管理中的phpMyAdmin,打开http://127.0.0.1/phpMyAdmin/,在数据库中新建库名为“security”的数据库,并把源代码中的sqli-labs.sql文件导入数据库

2.5搭建XSS测试平台

XSS测试平台是测试XSS漏洞获取cookie并接收Web页面的平台,XSS可以做JS能做的所有事,包括但不限于窃取cookie、后台增删改文章、钓鱼、利用XSS漏洞进行传播、修改网页代码、网站重定向、获取用户信息(如浏览器信息、IP地址)等。这里使用的是基于xsser.me的源码。在本书的同步网站下载相关文件并解压,然后将其放置在用来搭建XSS平台的网站目录下。

第3章

3.1 SQLMap详解

    SQLMap是一个自动化的SQL注入工具,其主要功能是扫描、发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库是MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase和SAP MaxDB。SQLMap采用了以下5种独特的SQL注入技术。

3.1.1  安装SQLMap

SQLMap的安装需要Python环境(不支持Python 3),本节使用的是Python 2.7.3,可在官网下载安装包并一键安装,安装完成后,复制Python的安装目录,添加到环境变量值中。

然后在SQLMap的官网(sqlmap: automatic SQL injection and database takeover tool)下载最新版本的SQLMap,下载到Python的安装目录下,并把SQLMap目录加到环境变量中。打开cmd,输入sqlmap.py命令后工具即可正常运行。

3.1.2  SQLMap入门

(1)判断是否存在注入

   假设目标注入点是http://192.168.1.104/sql1/Less-1/?id=11,判断其是否存在注入的命令如下所示。

Sqlmap.py -u http://129.168.1.104/sql1/Less-1/?id=1

   当注入点后面的参数大于等于两个小时,需要家双引号,如下所示。

               Sqlmap.py -u “http://129.168.1.104/sql1/Less-1/?id=1&uid=2

(2)判断文本中的请求是否存在注入

   判断是否存在注入的命令如下所示。(-r一般在存在cookie注入时使用

Sqlmap.py -r desktop/1.txt

(3) 查询当前用户的所有数据库

    该命令是确定网站存在注入后,用于查询当前用户下的所有数据库。

       Sqlmap.py -u http://129.168.1.104/sql1/Less-1/?id=1 –dbs

(4) 获取数据库中的表名

    该命令的作用是查询完数据库后,查询指定数据库中所有的表名。

      Sqlmap.py -u ”http://129.168.1.7/sql/union.php?id=1” -D dkeye –tables

(5) 获取表中的字段名

    该命令的作用是查询完表名后,查询该表中所有的字段名。

    Sqlmap.py -u ”http://129.168.1.7/sql/union.php?id=1” -D dkeye –T user_info --columns

(6) 获取字段内容

    该命令是查询完字段名后,获取该字段中具体的数据信息。

Sqlmap.py -u ”http://129.168.1.7/sql/union.php?id=1” -D dkeye –T user_info -Cusername,password  --dump

(7) 获取数据库的所有用户

    该命令的作用是列出数据库的所有用户。在当前用户有权限读取包含所有用户的表的权限时,使用该命令就可以列出使用管理用户。

        Sqlmap.py -u ”http://129.168.1.7/sql/union.php?id=1”  --users

(8) 获取数据库用户的密码

    该命令的作用是列出数据库用户的密码。如果当前用户有读取包含用户密码的权限,SQLMap会先列举出用户,然后列出Hash,并尝试破解。

        Sqlmap.py -u ”http://129.168.1.7/sql/union.php?id=1”  --passwords

(9) 获取当前网站数据库的名称

    使用该命令可以列出当前的数据库。

        Sqlmap.py -u ”http://129.168.1.7/sql/union.php?id=1”  --current-db

(10) 获取当前网站数据库的用户名称

    使用该命令可以列出当前网站使用的数据库用户。

        Sqlmap.py -u ”http://129.168.1.7/sql/union.php?id=1”  --current-user

3.1.3 SQLMap进阶:参数讲解

(1)--level 5:探测等级

     参数—level 5指需要执行的测试等级,一共有5等级(1~5),可不加level,默认是1.

(2)--is-dba:当前用户是否为管理权限

     该命令用于查看当前账户是否为数据库管理员账户。

        Sqlmap.py -u ”http://129.168.1.7/sql/union.php?id=1”  --is-dba

3.2.1 Burp Suite的安装

     Burp Suite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和攻击。

     专业版与免费版的主要区别有一下三点。

  1. Burp Scanner。
  2. 工作空间的保存和恢复。
  3. 拓展工具,如Target Analyzer、Content Discovery和Task Scheduler。

3.2.2 Burp Suite 入门

     Burp Suite代理工具是以拦截代理的方式,拦截使用通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。Burp Suite主要拦藏HTTP和HTTPS协议的流量,通过拦截,BurpSuite以中间人的方式对客户端的请求数据、服务端的返回息做各种处理。以达到安全测试的目的。

在日常工作中,最常用的Web客户端就是Web浏览器,我们可以通过设置代理位息,拦截Web浏览器的流量,并对经过Burp Suire代理的流量数据进行处理。Burp Suite运行后,BurpProxy默认本地代理端口为8080,如图3-21所示。

这里以Firefox浏览器为例,单击浏览器右上角“打开菜单”,依次单击“选项”à“常规”à“网络代理”à“设置”à“手动配置代理”,如图3-22所示,设置HTTF代理为127.0.0.1,端口为8080,与Burp Proxy中的代理一致。

1.Proxy

Burp Proxy是利用Burp开展测试流程的核心,通过代理模式,可以让我们拦截、查看、修改所有在客户端与服务端之间传输的数据。

*Burp Proxy的拦截功能主要由Intercept选项卡中的Forward、Drop、Interception is on/off和Action构成,它们的功能如下所示。

*Forward表示将拦截的数据包或修改后的数据包发送至服务器端。 Drop表示丢弃当前拦截的数据包。

*Interception is on表示开启拦截功能,单击后变为Interception is off,表示关闭拦截功能。

*单击Action按钮,可以将数据包进一步发送到Spider、Scanner、Repeater、 Intruder等功能组件做进一步的测试,同时也包含改变数据包请求方式及其 body的编码等功能。

打开浏览器,输入需要访问的URL并按回车键,这时将看到数据流量经过Burp Proxy并暂停,直到单击Forward按钮,才会继续传输下去。如果单击了Drop按钮,这次通过的数据将丢失,不再继续处理。

当Burp Suite拦截的客户端和服务器交互之后,我们可以在Burp Suite的消息分析选项中查看这次请求的实体内容、消息头、请求参数等信息。Burp有四种消息类型显示数据包:Raw、Params、Headers和Hex。

 *Raw主要显示Web请求的raw格式,以纯文本的形式显示数据包,包含请求

地址、HTTP协议版本、主机头、浏览器信息、Accept可接受的内容类型字符集、编码方式、cookie等,可以通过手动修改这些信息,对服务器端进行渗透测试

*Params主要显示客户端请求的参数信息,包括GET或者POST请求的参数、 cookie参数。可以通过修改这些请求参数完成对服务器端的渗透测试。

*Headers中显示的是数据包中的头信息,以名称、值的形式显示数据包。

*Hex对应的是Raw中信息的二进制内容,可以通过Hex编辑器对请求的内容进行修改,在进行00截断时非常好用。

3.2.3 Burp Suite进阶

3.2.3.1 Scanner

   Burp Scanner主要用于自动检测Web系统的各种漏洞。本小节介绍Burp Scanner的基本使用方法,在实际使用中可能会有所改变,但大体环节如下。

   首先、确认BurpSute正常启动并完成浏览器代理的配置,然后进入Burp Proxy.关闭代理拦截功能,快速浏览需要扫搞的域或URL模块,此时在默认情况下,Burp Scanner会扫描通过代理服务的请求,并对请求的消息进行分析来辨别是否存在系统漏润、而且当我们打开Burp Target时,也会在站点地图中显示请求的URL树。

  

1.主动扫描(Active Scanner)

当使用主动扫描模式时,Burp会向应用发送新的请求并通过Payload验证漏洞。这种模式下的操作会产生大量的请求和应答数据。直接影响服务端的性能,通常用于非生产环境。主动扫描适用于以下这两类漏洞。

*客户端的漏洞,如XSS、HTTP头注入、操作重定向。

*服务端的漏洞,如SQL注入、命令行注入、文件遍历。

2.被动扫描(Passive Scanning)

    当使用被动扫描模式时,Burp不会重新发送新的请求,只是对已经存在的请求和应答进行分析,对服务端的检测来说,这比较安全,通常适用于生产环境的检潮。一般来说,下列渴洞在被动模式中容易被检测出来。

*提交的密码为未加密的明文。

*不安全的cookie的属性。例如缺少HnpOnly和安全标志。

*cookie的范围缺失

*跨域脚本包含和站点引用泄露表单值自动填充&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值