一 基础

1、http请求流程:

请求、响应报文格式;

8种请求方式,get(长度有限制)、head(用于测试资源是否存在,服务器不返回消息主体)、post(传输大量数据)、put(给服务器上传资源)、delete(删除服务器上的资源)、trace(回显服务器收到的请求)、connect(切换到隧道的代理)、options(获取服务器允许该uri拥有的功能);

http状态码;

请求头:range(可以请求实体的一部分内容,多线程下载用这个请求头)、x-forward-for(代表请求端IP)、accept(指定客户端接收的信息类型)、accept-charset(指定客户端接收的字符集);

响应头:set-cookie(向客户端设置cookie)、last-modified(修改资源时间,方便条件get用?)、location(服务器让客户端去重定向)、refresh(服务器告诉浏览器去定时刷新);

实体头:请求和响应信息都可以传送一个实体头,content-type(向接收方指示实体的介质类型,附application/xml与text/xml区别)、content-encoding(指示实体正文的编码格式)、content-length(实体长度)

截取请求:burp suite proxy(工具箱)、fiddler(记录所有浏览器和服务器的通信,http和https,允许设置断点,修改数据)、winsock expert(监视和修改网络发送和接收数据)、

Charles学习笔记三:打响应断点,修改响应数据

2、信息探测

Google hack :site指定域名、intext、intitle、info、inurl、filetype(搜索指定文件类型)

Nmap:扫描计算机开放端口。

3、漏洞扫描

burp suite、awvs、appscan。

二 原理

4、sql注入

分为字符型、数字型。注入工具有sqlmap、pangolin、havij。防止手段:特殊字符转义、预编译(绑定变量,比如mybatis的$,#,即使是含有敏感字符的string,dbms也会将其当作一个字段的属性值处理,而不是作为一个sql指令)、框架、存储过程。

sql注入检测以工具为主,手工为辅,开发团队有自己的安全规范,不用每个开发者都了解。

SqlMap自动SQL注入和数据库接管工具

5、上传漏洞

跟web容器有关,原因是目录过滤不严,攻击者可能建立畸形目录;文件未重命名,攻击者可能利用web容器解析漏洞。解决方法是对路径进行验证、对文件进行随机重命名。

6、xss跨站脚本漏洞

比如在留言板留个代码,别人访问到这个留言就会被攻击。xss跨站漏洞最终形成的原因是对输入与输出没有严格过滤,在页面执行js等客户端脚本,这就意味着只要将敏感字符过滤,即可修补xss跨站漏洞。

7、命令执行漏洞

指攻击者可以随意执行系统命令。比如命令连接执行。总之,有输入的地方就可能存在漏洞。

8、文件包含漏洞:主要包含在php web应用中,是指重复使用的函数单独写到一个文件中,以后可以直接调用,这种调用文件的过程叫做包含,程序员常将被包含的文件设置为变量,用来进行动态调用。这个漏洞属于语言设计弊端。造成包含漏洞的根本原因是:被包含的页面可以被攻击者所控制。

9、其他漏洞

csrf:在会话还没有过时的时候,攻击者通过冒充被害者的身份进行非法操作。

逻辑错误漏洞:比如越权,通过改连接参数,改了别的用户的数据。

代码注入:后台提交的代码,当作执行代码去运行,比如博文的写的代码。

url跳转:在网站留言个重定向的js代码,然后发个链接,让被害者去点,看着是个正规网站网址,点进去,出发之前留的js,就跳到了骗子的网站,注意地址栏会变。

webserver远程部署:比如weblogic的地址,默认的账号密码,都要改,防止被人登陆到后台。

三 实战与综合

暴力破解:用验证码;

旁注攻击:小网站的服务器上可能也部署着其他网站,通过攻击其他网站,然后进入目标网站的代码文件。防范方法就是严格配置服务器权限。

提权:

  溢出提权:在linux或windows系统直接执行溢出程序。

  第三方组件提权,利用第三方软件的漏洞,进入服务器,执行代码。

管理服务器,要经常改密码,经常杀毒。

arp欺骗:arp是地址解析,将ip转为mac地址,完成网络地址到物理地址的映射。攻击者可以伪装arp应答,冒充真正通信的主机。常见的arp工具:cain,ettercap,netfuke。防御方法是:对每台主机和mac地址进行静态绑定;安装arp防火墙,金山的,360的。

社会工程学:就是直接骗人。

安全测试系列:《web安全深度剖析》读书笔记的更多相关文章

  1. Web安全深度剖析

    Web安全深度剖析 链接:https://pan.baidu.com/s/15NulgWNzQ2JPCdn9q1jE-g 提取码:6y83    Web安全深度剖析>总结了当前流行的高危漏洞的形 ...

  2. 《PHP与MySQL WEB开发》读书笔记

    <PHP与MySQL WEB开发>读书笔记 作者:[美]Luke Welling PHP输出的HereDoc语法: echo <<<theEnd line 1 line ...

  3. STL源码剖析读书笔记之vector

    STL源码剖析读书笔记之vector 1.vector概述 vector是一种序列式容器,我的理解是vector就像数组.但是数组有一个很大的问题就是当我们分配 一个一定大小的数组的时候,起初也许我们 ...

  4. web前端安全---读书笔记

    web前端安全---读书笔记 粗略的看完了Web前端黑客技术揭秘前两章了,由于自身的前端功力不深,当然也是初涉前端的安全问题,所以实话还是有些问题看不太明白的.在豆瓣看到的这本书,名字真心有点很肥主流 ...

  5. 《Web安全深度剖析》

    书名 <Web安全深度剖析> 图片  时间  2018-11月   总结  算是我安全的启蒙书  前五章都是工具  看完差不多算个脚本小子 后面的实战感觉很空洞没什么实战

  6. web安全深度剖析 pdf

    扫加公众号,回复“web安全深度剖析",免费获取此书.

  7. web安全深度剖析pdf

    Web安全深度剖析.pdf_免费高速下载|百度网盘-分享无限制 链接:https://pan.baidu.com/s/1kVwP7SF

  8. <<Java RESTful Web Service实战>> 读书笔记

    <<Java RESTful Web Service实战>> 读书笔记 第一章   JAX-RS2.0入门 REST (Representational State ransf ...

  9. 《Android应用测试与调试实战》读书笔记

    一 本书概述 自动化测试篇:Android应用可以使用Java语言配合SDK,也可以使用HTML5技术,还可以用C/C++语言配合NDK技术编写,本书中涵盖了针对这三种技术编写的应用所采用的测试技术. ...

  10. STL源码剖析读书笔记--第四章--序列式容器

    1.什么是序列式容器?什么是关联式容器? 书上给出的解释是,序列式容器中的元素是可序的(可理解为可以按序索引,不管这个索引是像数组一样的随机索引,还是像链表一样的顺序索引),但是元素值在索引顺序的方向 ...

随机推荐

  1. git基本操作(二)

    分支(git branch) git branch 命令用于列出,创建或删除分支. git branch -a git branch git branch -v # 查看每一个分支上的最后一次comm ...

  2. golang数组&切片&map

    数组 数组声明 func main() { /* 语法一 */ // 数组名字 [数组长度] 数组类型 // 声明一个数组 长度为3 类型是int 会初始化为int类型的零值,默认值是[0 0 0 ] ...

  3. 【framework】RootWindowContainer简介

    1 前言 ​ RootWindowContainer 是窗口容器的根容器,子容器是 DisplayContent.关于其父类及祖父类的介绍,见→WindowContainer简介.Configurat ...

  4. Java JVM——3.运行时数据区概述及线程

    运行时数据区概述 在JVM 中的位置 内部划分 当我们通过前面的:类的加载 → 验证 → 准备 → 解析 → 初始化 这几个阶段完成后,执行引擎就会对我们的类进行使用,同时执行引擎将会使用到我们的运行 ...

  5. 混合类Mixins介绍

    介绍 混合类是封装了一些通用行为的基类,旨在重用代码.通常,混合类本身并没有什么用,仅扩展这种类也行不通 因为在大多数情况下,它都依赖于其它类中定义的方法和属性.通过多继承,可将混合类与其它类一起使用 ...

  6. nginx中使用perl脚本来定制一些请求转发等等

    http://t.zoukankan.com/carriezhangyan-p-9359708.html https://blog.csdn.net/weixin_28917223/article/d ...

  7. PMP考试计算题汇总

    第6章 项目时间管理 本节术语较多.涉及的工具&技术也不少. 主要包括活动定义.活动排序.活动资源估算.活动历时估算.进度制定.进度控制6个子过程. 1.1活动定义:就是对WBS的进一步分解. ...

  8. 【Azure 应用服务】Azure App Service 在不配置自定义域名的情况下如何使用呢?

    问题描述 根据中国法律法规的规定及相关监管机构的要求,当使用应用服务创建应用时,须立即绑定一个已经完成ICP备案的自定义域名并通过该自定义域名访问该应用服务.任何通过Internet对应用服务默认域名 ...

  9. IDA sp-analysis failed

    目录 概述 问题描述 排查过程 概述 学习任何一个技术,都是会遇到各种问题的,那么现在就有 sp-analysis failed 问题描述 IDA在载入文件之后,出现如下注释 但是可以正常F5,不过只 ...

  10. MySQL汇总数和分组数据

    1.使用SQL语句对数据库表中的数据进行简单的汇总和分组,这里要注意 count(*) 是对表中的所有数据目进行计数,不管表列中包含的是空值还是非空值. 而使用count(column)是对特定的列中 ...