精华内容
下载资源
问答
  • 黑客攻防技术宝典Web实战篇 第2版 pdf
    千次阅读
    2018-02-28 09:47:00

    下载地址:网盘下载

     

    内容简介  · · · · · ·

    作者简介  · · · · · ·

    Dafydd Stuttard 世界知名的安全技术专家。著名Web应用攻击测试工具Burp Suite的开发者。以网名PortSwigger蜚声安全界。牛津大学博士,现任Next Generation Security Software公司资深安全顾问,主要负责Web应用程序安全。

    Marcus Pinto资深渗透测试专家,Next Generation Security Software公司资深安全顾问,主要负责数据库开发团队。拥有剑桥大学硕士学位。

    目录  · · · · · ·

    第1章 Web应用程序安全与风险
    第2章 核心防御机制
    第3章 Web应用程序技术
    第4章 解析应用程序
    第5章 避开客户端控件
    第6章 攻击验证机制
    第7章 攻击会话管理
    第8章 攻击访问控制
    第9章 代码注入
    第10章 利用路径遍历
    第11章 攻击应用程序逻辑
    第12章 攻击其他用户
    第13章 定制攻击自动化
    第14章 利用信息泄露
    第15章 攻击编译型应用程序
    第16章 攻击应用程序架构
    第17章 攻击Web服务器
    第18章 查找源代码中的漏洞
    第19章 Web应用程序黑客工具包
    第20章 Web应用程序渗透测试方法论

     

     

     

    下载地址: 网盘下载

     

    转载于:https://www.cnblogs.com/long12365/p/9730362.html

    更多相关内容
  • [黑客攻防技术宝典Web实战篇].Dafydd.Stuttard.第2版
  • 《黑客攻防技术宝典Web实战篇(第2版)》.Dafydd.Stuttard.
  • 很好的书,资源质量很高,带完整书签,黑客攻防技术宝典 Web实战篇(第2版)-高清带书签。
  • 《黑客攻防技术宝典.Web实战篇(第 2版)》是探索和研究Web 应用程序安全漏洞的实践指南。作者利用大量的实际案例和示例代码,详细介绍了各类Web 应用程序的弱点,并深入阐述了如何针对Web 应用程序进行具体的渗透...

    黑客攻防技术宝典:Web实战篇(第2版)(epub+azw3+mobi+pdf+txt+word)
     

    《黑客攻防技术宝典.Web实战篇(第 2版)》是探索和研究Web 应用程序安全漏洞的实践指南。作者利用大量的实际案例和示例代码,详细介绍了各类Web 应用程序的弱点,并深入阐述了如何针对Web 应用程序进行具体的渗透测试。本书从介绍当前Web 应用程序安全概况开始,重点讨论渗透测试时使用的详细步骤和技巧,总结书中涵盖的主题。每章后还附有习题,便于读者巩固所学内容。

    第 2 版新增了Web 应用程序安全领域近年来的发展变化新情况,并以尝试访问的链接形式提供了几百个互动式“漏洞实验室”,便于读者迅速掌握各种攻防知识与技能。

    《黑客攻防技术宝典.Web实战篇(第 2版)》适合各层次计算机安全人士和Web 开发与管理领域的技术人员阅读。

    网盘地址:https://pan.baidu.com/s/1q71QjDYq3i4SW--VhOLy2Q

    展开全文
  • 那个积分设置在哪,现在是默认5个积分了吗?分享开心不开心,适合入门级,因为本人就是刚刚入门,感觉书挺不错的;
  • 《黑客攻防技术宝典Web实战篇第2版)》是探索和研究Web应用程序安全漏洞的实践指南。作者利用大量的实际案例和示例代码,详细介绍了各类Web应用程序的弱点,并深入阐述了如何针对Web应用程序进行具体的渗透测试。...
  • 黑客攻防技术宝典-web实战篇 从攻击者的视角看web安全,以经典实例讲web攻防
  • 黑客攻防技术宝典 Web实战篇(最新版).zip
  • [黑客攻防技术宝典Web实战篇].Dafydd.Stuttard.第2版.pdf.zip
  • 黑客攻防技术宝典web实战篇
  • web安全攻防实战

    2021-09-02 11:33:27
    WEB安全渗透工具docker容器安装三级目录 渗透工具 1.burpsuite 2.curl 3.postman 4.wappalyzer 5.hackbar docker容器安装 [docker下载地址(https://www.docker.com/products/docker-desktop) 三级目录

    渗透工具

    1.burpsuite
    2.curl
    3.postman
    4.wappalyzer
    5.hackbar

    docker容器安装

    docker下载地址

    因为可能是win10 安装好docker desktop 运行后会报错然后闪退,经过查询很多资料,将win10 升级成wl2 安装了Windows下的Linux分发版,即可正常运行docker
    在win10 上安装wsl和下载Linux内核

    BWAPP容器安装成功

    文件上传漏洞

    上传一句话木马
    打开中国菜刀

    在这里插入图片描述

    文件上传绕过




    为什么php3可以但是php30 不行,我们去看Apache配置文件

    docker container list -a
    docker exec -it 1de0abcbea4e bash
    cd /etc/apache2
    vim apache2.conf
    cd mods-enabled/
    vim php5.conf
    


    IIS 5.X到6.0漏洞

    第一种,在网站下建立文件夹的名字为 .asp、.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。

    例如创建目录 wooyun.asp,那么/wooyun.asp/1.jpg将被当作asp文件来执行。假设黑阔可以控制上传文件夹路径,就可以不管你上传后你的图片改不改名都能拿shell了。

    第二种,在IIS6.0下,分号后面的不被解析,也就是说wooyun.asp;.jpg
    会被服务器看成是wooyun.asp

    Nginx-解析漏洞

    由于Nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,为此可以构造http://liuwx.cn/test.png/.php (url结尾不一定是‘.php’,任何服务器端不存在的php文件均可,比如’a.php’),其中test.png是我们上传的包含PHP代码的照片文件。

    Apache解析漏洞

    Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断.
    比如 wooyun.php.owf.rar “.owf”和”.rar”?这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php.
    如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个wooyun.php.rara.jpg.png…(把你知道的常见后缀都写上…)去测试是否是合法后缀

    前端验证绕过

    很多网站、CMS 都有使用,只在前端利用 JavaScript 来做校验。
    漏洞利用流程(两种方法都可以):

    1. 通过Burp Suite抓包,然后修改内容后放行。
    2. 通过Chrome禁止/删除JavaScript代码。

    .htaccess绕过

    什么是.htaccess?

    .htaccess文件(分布式配置文件)提供了一种方式,使得配置文件可以随文件夹不同而不同,其所放置的文件夹及所有子文件夹都会受此影响,其语法同apache主配置文件。
    如何利用.htaccess?
    场景:启用了.htaccess文件的网站,使用此文件类型来绕过限制较全面的黑名单过滤

    1. 上传一个.htaccess文件,文件内容设置为【AddType application/x-httpd-php .test】。
    2. 上传一句话木马文件,文件名设置为shell.test。
    3. 在浏览器中访问shell.test即可执行一句话木马。

    大小写绕过

    这是一种比较简单的绕过方式,同样针对黑名单。
    如果我们想上传一个php木马,那么我们可以上传一个pHp即可。

    Windows 文件流特性绕过

    什么是Windows文件流?
    NTFS文件系统实现了多文件流特性,NTFS环境一个文件默认使用的是未命名的文件流,同时可创建其他命名
    的文件流,Windows资源管理器默认不显示出文件的命名文件流,这些命名的文件流在功能上和默认使用的
    未命名文件流一致,甚至可以用来启动程序。
    我们来用Windows平台做一些测试:

    1. Echo 111 > test.txt:111.txt;
    2. Echo test > test.txt;
    3. Echo 222 > test.txt::$data;

    %00截断绕过

    文件头检测绕过

    绕过类型总结

    1.Content-Type绕过
    2.前端绕过
    3.文件解析规则绕过
    4.Windows环境特性绕过
    5.大小写/双写/点空格/文件头/条件竞争绕过…

    Fuzz Testing

    模糊测试,使用burp就相当于密码爆破(个人理解)

    SQL注入

    是发生于应用程序与数据库层的安全漏洞。

    网站内部直接发送的SQL请求一般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造SQL语句,如果用户输入的数据被构造成恶意SQL代码,Web应用又未对动态构造的SQL语句使用的参数进行审查,则会带来意想不到的危险。

    我们在提交网页内容时候,主要分为GET方法POST方法,GET方法提交的内容会显现
    在网页URL上,通过对URL连接进行构造,可以获得超出权限的信息内容。

    SQL Injection (GET/Search)

    1. 判断是否存在注入点

    2. 判断字段个数

    t' union select 1,2,3,4,5,6,7 -- '
    


    4. 查找用户名,数据库名字,版本号

    t' union select 1,user(),database(),4,version(),6,7 -- '
    


    5. 查看有哪些表

    t' union select 1,table_name,database(),4,version(),6,7 from information_schema.tables where table_schema=database() -- '
    


    6.查看表数据

    t'union select 1,column_name,database(),4,version(),6,7 from information_schema.columns where table.name='users' -- '
    


    7.查看表数据

    t'union select 1,login,password,4,version(),6,7 from users -- '
    

    SQL Injection (POST/Select)

    该bwapp靶场是通过docker安装在本地的 所以一般来讲burp抓不到本地包,也就是抓不到127.0.0.1 和localhost 这里不建议Google解决方法,本人尝试了Google上的几乎所有方法,花费了一下午的时间没有解决。在这里推荐一个浏览器插件给大家,能很好的解决burp抓本地包的问题。
    Proxy SwitchyOmega
    很好用的浏览器代理自动配置软件

    上面配置成burp相同的地址和端口。下面方框的不代理地址列表删除127.0.0.1和localhost

    在localhost下选择你自己设置的proxy即可。

    2.获取表名

    movie=11 union select 1,2,group_concat(user()),database(),5,6,7 from information_schema.tables where table_schema=database() -- ' &action=go
    


    其中 group_concat() 函数将组中的字符串连接成为具有各种选项的单个字符串。

    3.获取users的列名

    movie=11 union select user(),table_name,group_concat(column_name),database(),5,6,7 from information_schema.columns where table_name='users' -- ' &action=go
    


    4.获取数据

    movie=11 union select user(),2,group_concat(login),database(),group_concat(password),6,7 from users --  ' &action=go
    

    判断SQL注入点

    1.经典的单引号判断法
    http://xxx/test.php?id=1’

    如果页面返回错误,则存在 SQL 注入。
    原因是无论字符型还是整型都会因为单引号个数不匹配而报错。

    2.判断注入类型
    通常SQL注入分为两种:数字型 + 字符型

    数字型:
    通常语句类型为 select * from <表名> where id = x
    我们通常构造and 1=1以及and 1=2来判断

    字符型:
    通常语句类型为select * from <表名> where id = ‘x’
    我们通常构造and ‘1’='1以及and ‘1’='2来判断

    SQL注入的类型

    1. Boolean-based blind SQL injection(布尔型注入)

    http://test.com/view?id=1 and substring(version(),1,1)=5

    如果服务端MySQL版本是5.X的话,那么页面返回的内容就会跟
    正常请求一样。

    3. UNION query SQL injection(可联合查询注入)
    http://test.com/view?id=1 UNION ALL SELECT SCHEMA_NAME
    FROM INFORMATION_SCHEMA.SCHEMATA

    最快捷的方法,通过UNION查询获取到所有想要的数据,前提是请求
    返回后能输出SQL执行后查询到的所有内容。

    5. Time-based blind SQL injection(基于时间延迟注入)
    select * from user where id= ‘4’ and sleep(3)

    页面不会返回错误信息,不会输出UNION注入所查出来的泄露的信息。
    类似搜索这类请求,boolean注入也无能为力,因为搜索返回空也属
    于正常的,这时就得采用time-based的注入了,即判断请求响应的时
    间,但该类型注入获取信息的速度比较慢,请求次数比较多,纯手工
    非常复杂。

    6. Error-based SQL injection(报错型注入)

    如果页面能够输出SQL报错信息,则可以从报错信息中获得想要的信
    息。
    典型的就是利用group by的duplicate entry错误。

    7. Stacked queries SQL injection(可多语句查询注入)

    http://test.com/view?id=1;update t set name = ‘a‘ where id=1

    能够执行多条查询语句,非常危险,因为这意味着能够对数据库直接
    做更新操作。

    时间盲注

    通过注入特定语句,根据对页面请求的物理反馈,来判断是否
    注入成功,如: 在SQL语句中使用sleep() 函数看加载网页的
    时间来判断注入点。

    适用场景:通常是无法从显示页面上获取执行结果,甚至连注
    入语句是否执行都无从得知。

    select * from user where id= ‘ ?’

    ? 用户输入,替代为 4’ and sleep(3) – ‘

    实际上执行的SQL语句:
    select * from user where id= ‘4’ and sleep(3) – ‘’

    当id=4存在时,休眠3秒 当id=4不存在时,直接返回
    整条拼接出来的SQL是正确的就执行最后的sleep,前面错误(不存在),sleep(3)不执行。

    时间盲注常用函数
    substr(a,b,c):从b位置开始,截取字符串a的c长度
    count():计算总数
    ascii():返回字符的ASCII码
    length():返回字符串的长度
    left(a,b):从左往右截取字符串a的前b个字符
    sleep(n):将程序挂起n秒

    示例:

    HTTP头注入

    针对HTTP的请求头,如果不加以过滤或者转义,在直接与数据库交
    互的过程中容易被利用进行SQL注入攻击,即HTTP头注入。

    常见场景:

    访问Web Server时,Web Server会从HTTP Header中取出浏览器信
    息、IP地址、HOST信息等存储到数据库中。

    SQL Injection - Stored (User-Agent)

    111 ' , (select table_name from information_schema.tables where table_schema='bWAPP' limit 0,1)); #
    

    报错注入(Error based Injection)

    一种 SQL 注入的类型,用于使 SQL 语句报错的语法,用于注入结果无回显
    但错误信息有输出的情况。
    返回的错误信息即是攻击者需要的信息。

    MySQL 的报错注入主要是利用 MySQL 的一些逻辑漏洞,如 BigInt 大数
    溢出等,由此可以将 MySQL 报错注入主要分为以下几类:

    1. BigInt 等数据类型溢出;
    2. Xpath 语法错误;
    3. count() + rand() + group_by() 导致重复;
    4. 空间数据类型函数错误。

    很多函数会导致 MySQL 报错并显示出数据:

    1. floor 函数;
    2. extractvalue 函数;(最多32字符)
    3. updatexml 函数;
    4. exp() 函数;

    堆叠注入

    一堆 SQL 语句(多条)一起执行。

    在 MySQL 中, 主要是命令行中, 每一条语句结尾加; 表示语句结束。这样我们
    就想到了是不是可以多句一起使用。

    这个叫做 stacked injection。

    我们就可以使用堆叠注入,对admin账户的password进行更新。

    http://127.0.0.1:81/vulnerabilities/sqli/?id=1'; update users set
    password=e10adc3949ba59abbe56e057f20f883e' where user_id=1; -
    - &Submit=Submit#
    

    成功登录之后再进行复原。

    混淆及绕过


    普通的注入方式过于明显,很容易被检测。
    因此,需要改变攻击的手法,绕过检测和过滤,即混淆和绕过
    具体操作针对于服务端和 WAF 的防御机制有多种手段。

    展开全文
  • 1、Unicode是一种为支持全世界所使用的各种编写系统而设计的字符编码标准,采用各种编码方案,其中一些可用于表示Web应用程序中的不常见字符。 2、16位Unicode编码的字符以%u开头,后是这个字符的十六进制Unicode...

    3.1 HTTP

    3.1.1 HTTP请求

    1、所有HTTP消息(请求与响应)中都包含一个或几个单行显示的消息头,然后是一个空白行,最后是消息主体(可选)。

    2、每个HTTP请求的第一行由三部分组成

    ①说明HTTP方法的动词,例如 get post

    ②所请求的URL

    ③使用HTTP的版本

    3、其他要点

    ①Referer消息头表示发出请求的原始URL。

    ②User-Agent消息头提供与浏览器或其他生成请求的客户端软件有关的消息。由于历史原因都包含Mozilla前缀。

    ③Host消息头用于指定出现在被访问的完整URL中的主机名称。

    ④Cookie消息头用于提交服务器向客户端发布的其他参数。

    3.1.2 HTTP响应

    1、每个HTTP响应头第一行由三部分组成

    ①使用的HTTP版本

    ②请求结果的数字状态码

    ③响应状态词语

    2、其他要点

    ①Server消息头中包含一个旗标,指明所使用的Web服务器软件。

    ②Set-Cookie消息头向浏览器发送另一个cookie,它将在随后向服务器发送的请求中由Cookie消息头返回。

    ③Pragma消息头指示浏览器不要将响应保存在缓存中。

    ④Expires消息头指示响应内容已经过期,不应保存在缓存中。

    ⑤Content-Type消息头,表示这个消息主体包含一个HTML文档。

    ⑥Content-Length消息头规定消息主体的字节长度。

    3.1.3 HTTP方法

    1、主要讲述GET和POST的区别联系:

    GET在浏览器回退时是无害的,而POST会再次提交请求。

    GET产生的URL地址可以被Bookmark,而POST不可以。

    GET请求会被浏览器主动cache,而POST不会,除非手动设置。

    GET请求只能进行URL编码,而POST支持多种编码方式。

    GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

    GET请求在URL中传送的参数是有长度限制的,而POST么有。

    对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

    GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

    GET参数通过URL传递,POST放在Request body中。

    2、其他方法

    3.1.4 URL

    1、URL统一资源定位符

    2、URI统一资源标识符,仅用于正式规范中或者嘚瑟装13用。

    3.1.5 REST

    1、表述性状态转移(REST)是分布式系统的一种体系架构,在此,请求和响应包含系统资源当前状态的表述。万维网包含HTTP协议和URL格式使用的核心技术,均属于此架构风格。

    3.1.6 HTTP消息头

    1、常用消息头

    ①Connection:告诉通信另一段,在HTTP传输后是否关闭TCP连接。

    ②Content-Encoding:消息主体中的编码形式。

    ③Content-Length:消息主体字节长度。

    ④Content-Type:消息主题内容类型。HTML文档内容类型为text/html。

    ⑤Transfer-Encoding:为方便HTTP传输对消息主体使用的任何编码。

    2、请求消息头

    ①Accept:告诉服务器客户端愿意接受哪些内容,如图像、文档格式等。

    ②Accept-Encoding:告诉服务器客户端愿意接受哪些内容编码。

    ③Authorization:为一种内置HTTP身份验证向服务器提交证书。

    ④Cookie:向服务器提交他以前发部分cookie。

    ⑤Host:指定出现在所请求的完整URL中的主机名称。

    ⑥If-Modified-Since:说明服务器最后一次收到请求的资源的时间。如果自那以后资源没有发生变化,服务器就会发出一个带状态码304(简单的表达就是:服务端已经执行了GET,但文件未变化)的响应,指示客户端使用资源的缓存副本。

    ⑦If-None-Match:指定一个实体标签(说明消息主体内容的标识符)。

    ⑧Origin:用在跨域Ajax请求中,指示提出请求的域。

    ⑨Referer:指示提出当前请求的原始URL。

    ⑩User-Agent:提供与浏览器或生成请求的其他客户端软件有关的消息。

    3、响应消息头

    ①Access-Control-Allow-Origin:指示可否通过跨域Ajax请求获取资源。

    ②Cache-Control:向浏览器传送缓存命令。

    ③ETag:指定一个实体标签。

    ④Expires:指示消息主体内容的有效时间。

    ⑤Location:在重定向响应中说明重定向的目标。

    ⑥Pragma:向浏览器传送缓存指令。

    ⑦Server:提供所使用的Web服务器软件的相关信息。

    ⑧Set-Cookie:向浏览器发布cookie,浏览器会在随后的请求中将其返回给服务器。

    ⑨WWW-Authenticate:用于在带401状态码的响应中,提供与服务器所支持的身份验证类型有关的信息。

    ⑩X-Frame-Options:浏览器框架是否及如何加载当前响应。

    3.1.7 cookie

    1、cookie是服务器与客户端沟通的数据载体,无需采取任何特殊措施,随后的没也给请求都会继续重定向服务器提交cookie。

    2、键值对构成,可使用几个Set-Cookie发布多个cookie,或者同一个Cookie消息头中用分号分割不同cookie。

    3、设置Cookie的参数

     

    3.1.8 状态码

    1、状态码分类

     

    3.1.9 HTTPS

    HTTPS和HTTP的区别主要如下:

    1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

    2、http是超文本传输协议,信息是明文传输,https则是具有安全性的SSL加密传输协议。

    3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

    4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

    注:如今的SSL实际已经由TLS(传输层安全)代替,但后者通常还是使用SSL这个名称。

    3.1.10 HTTP代理

    1、HTTP代理服务器是一个协调客户浏览器与目标Web服务器之间访问的服务器。将所有请求提交到代理服务器,代理服务器再将请求转交给Web服务器,并将响应返回给浏览器。

    大多数代理服务器还有缓存、验证、访问控制等服务。

    2、使用代理服务器,HTTP工作机制会出现两方面的差异

    ①当浏览器向代理服务器发布HTTP请求时,它会将完整的URL插入请求中,代理服务器将提取主机名称和端口,根据这些信息将请求指向正确的目标Web服务器。

    ②当使用HTTPS时,浏览器无法和代理服务器进行SSL握手,因为这样会破坏安全隧道,易遭拦截攻击。

    3.1.11 HTTP身份验证

    1、HTTP有自己的用户身份验证机制:

    ①Basic:在请求头中随每条消息以Base64编码字符串的形式发送用户证书。

    ②NTLM:质询-响应式机制,使用某个Windows NTLM协议版本。

    ③Digest:质询-响应式机制,随同用户证书一起使用一个随机值MD5校验和。

    3.2 Web功能

    3.2.1 服务器端功能

    1、根据用户请求,服务器执行脚本或其他代码生成动态资源返回。

    2、用户传递多个参数请求,HTTP请求使用3种主要方式向应用程序传送参数

    ①通过URL查询字符串。

    ②通过REST(https://blog.csdn.net/weichi7549/article/details/96563383)风格的URL的文件路径。

    ③通过HTTPcookie。

    ④通过在请求实体中使用POST方法。

    3、常见Web应用平台开发语言

    ①Java:遵循J2EE标准,较安全。

    ③PHP:简单易入门,但漏洞不少。

    ④Ruby On Rails:优势,较快创建成熟的数据驱动应用程序。

    ⑤SQL:基于SQL的数据库作为Web后端数据仓库。

    ⑥XML:将文档划分为内容和标记,方便获取,易扩展。

    ⑦Web服务:使用简单对象访问协议(SOAP)来交换数据。SOAP使用HTTP协议来传送消息,XML格式表示数据。

    3.2.2 客户端功能

    1、HTML

    2、超链接

    3、表单

    4、CSS

    5、JavaScript

    6、VBScript:可用于替代只有IE才支持的JS。

    7、文本对象模型(DOM):可通过其API查询和操作的HTML文档的抽象表示形式。

    8、Ajax:异步交换数据。

    9、JSON:可对任意数据序列化的简单数据交换格式。

    10、同源策略:防止不同来源内容相互干扰。同一网站收到的内容可以读改该站点收到的其他内容,但不得访问其他站点的内容。

    11、HTML5:①引入可用于传送跨站点脚本及实施其他攻击的新标签、属性、API。②对XMLHttpRequest修改,实现双向跨域交互,可能导致跨域攻击。③引入心的客户端数据存储机制,可能导致用户隐私问题及新型攻击。

    12、Web2.0:更注重交互性。

    13、浏览器扩展技术

    3.2.3 状态与会话

    1、更方便浏览器客户端交互。例如购物。

    3.3 编码方案

    3.3.1 URL编码

    1、URL编码主要用于对扩展ASCII字符集中的任何有问题的字符进行编码,使其可通过HTTP安全传输。任何URL编码以%开头,后跟两个十六进制ASCII代码。

    2、常见URL编码字符

     

    3.3.2 Unicode编码

    1、Unicode是一种为支持全世界所使用的各种编写系统而设计的字符编码标准,采用各种编码方案,其中一些可用于表示Web应用程序中的不常见字符。

    2、16位Unicode编码的字符以%u开头,后是这个字符的十六进制Unicode码点。

    3、UTF-8是一种长度可变的编码标准,一个或几个字节表示每个字符,%开头,后跟十六进制表示每个字节。

    3.3.3 HTML编码

    1、HTML编码是一种用于表示问题字符已将其安全并入HTML文档的方案。有许多字符有特殊含义,被用于定义文档结构而非内容,为了安全使用,进行HTML编码。

    2、常见HTML编码定义HTML实体表示特殊的字面量字符:

    3、任何字符都可以使用他的十进制ASCII码进行HTML编码:

     

    3.3.4 Base64编码

    1、常用于电子邮件附件编码,并通过SMTP传输。还可用于基本HTTP验证机制中对用户证书进行编码。

    3.3.5 十六进制编码

    1、许多应用程序在传送二进制数据时直接使用十六进制编码。

    3.3.6 远程和序列化框架

    1、用此框架开发者可以一定程度上忽略Web应用程序的分布式本质,而与开发传统桌面应用程序类似的方式编写代码。

    3.4 下一步

    1、开始研究渗透测试员如何向Web应用程序发动攻击。

    3.5 问题

    1、OPTIONS方法有什么作用?

    答:OPTIONS方法要求服务器报告可用于特定资源的HTTP方法。

     

    2、If-Modified-Since和If-None-Match消息头的作用是什么?它们为何引起攻击者的兴趣?

    答:If-Modified-Since消息头用于指定浏览器最后一次收到被请求的资源的时间。If-None-Match消息头用于指定实体标签,在最后一次收到被请求的资源时,服务器与被请求的资源一起发布该标签。

    在上述两种情况下,这些消息头用于支持浏览器中的内容缓存,服务器通过它们指示浏览器使用资源的缓存副本,而非资源的完整内容(如果这样做没有必要)。

    在攻击应用程序时,浏览器可能已经缓存了攻击者感兴趣的资源(如JavaScript文件)副本。如果删除这两个消息头,就可以覆写浏览器的缓存信息,确保服务器以攻击者希望查看的新的资源副本做出响应。

     

    3、当服务器设置cookie时,secure标签有什么意义?

    答:secure标签用于向浏览器发出以下指示:只应通过HTTPS连接、绝不能通过未加密的HTTP连接重新提交cookie。

     

    4、常用状态码301与302有什么不同?

    答:301状态码告诉浏览器被请求的资源已永久移动到其他位置。在当前浏览器会话期间,如果浏览器需要访问最初请求的资源,它将使用在301响应中指定的位置。

    302状态码告诉浏览器被请求的资源已临时移动到其他位置。下次浏览器需要访问最初请求的资源时,它将从最初请求的位置请求此资源。

     

    5、使用SSL时,浏览器如何与Web代理实现互操作?

    答:浏览器向代理发送一个CONNECT请求,将目标主机名和端口号指定为此请求中的URL。如果代理允许该请求,它将返回一个状态码为200的HTTP响应,使TCP连接保持开放,并在随后作为指定目标的纯TCP级中继

    展开全文
  • 本书是一本很实用的书籍,也是一本经典书籍,你可以通过本书学习一些web安全方面的知识
  • [黑客攻防技术宝典Web实战篇].Dafydd.Stuttard.第2版.无水印.pdf.zip
  • 《黑客攻防技术宝典Web实战篇》是探索和研究Web 应用程序安全漏洞的实践指南。作者利用大量的实际案例和示例代码,详细介绍了各类Web 应用程序的弱点,并深入阐述了如何针对Web 应用程序进行具体的渗透测试。本书...
  • 黑客攻防技术宝典_Web实战篇第2版英文,属于WEB安全。黑客攻防技术宝典_Web实战篇第2版英文。
  • Web前端黑客技术揭秘(最新版)
  • 黑客攻防技术宝典_Web实战篇(第2版) (图灵程序设计丛书 99)azw3资源,kindle购买的,可以自行转码为其他格式
  • 《黑客攻防技术宝典.Web实战篇(第2版)》是探索和研究Web 应用程序安全漏洞的实践指南。作者利用大量的实际案例和示例代码,详细介绍了各类Web 应用程序的弱点,并深入阐述了如何针对Web 应用程序进行具体的渗透...
  • 黑客攻防技术宝典 Web实战篇 石华耀 pdf版
  • 黑客攻防技术宝典:第2版.Web实战篇 (英)斯图塔德(Stuttard, D.) (英)平托(Pinto, M.)著 石华耀,傅志红译
  • 1.1 Web应用程序的发展历程 早期万维网仅由站点组成,显示的是静态文档的信息库。 如今大多数站点是应用程序,服务器与浏览器之间双向信息传递。 随之而来的也有安全威胁。 1.1.1 Web应用程序的常见功能 一些...
  • [黑客攻防技术宝典Web实战篇.Dafydd.Stuttard.第2版.pdf是一本经典的web攻防宝典
  • 黑客攻防技术宝典:浏览器实战篇 pdf版+mobi版 带目录 图灵程序设计丛书
  • 《黑客攻防技术宝典.Web实战篇(第2版)》是探索和研究Web 应用程序安全漏洞的实践指南。作者利用大量的实际案例和示例代码,详细介绍了各类Web 应用程序的弱点,并深入阐述了如何针对Web 应用程序进行具体的渗透...
  • 第三章、Web应用程序技术(Web功能)(二) 服务器端要接受用户输入,并向用户返回结果。所以他必须提供一个客户端用户界面。因为用户通过浏览器访问,所以用户界面的技术是基于浏览器的。 HTML 超文本标记语言,是...
  • Web应用无处不在,安全隐患如影随形。承载着丰富功能与用途的Web应用程序中...第2版全面升级,涵盖了最新的攻击技巧与应对措施,此外,书中还列出了几百个“漏洞实验室”,以帮助读者对所学内容进行巩固和实战演习。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 747
精华内容 298
关键字:

web攻防宝典实战篇