zoukankan      html  css  js  c++  java
  • 安全测试系列:《web安全深度剖析》读书笔记

    一 基础

    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的。

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

  • 相关阅读:
    Android音视频之MediaRecorder音视频录制
    Android数据加密之Des加密
    Java设计模式之模板模式(Template )
    Android图片缓存之Glide进阶
    Android图片缓存之初识Glide
    Android图片缓存之Bitmap详解
    Java设计模式之单例模式(Singleton)
    Java设计模式之工厂模式(Factory)
    Java设计模式之建造者模式(Builder)
    Android okHttp网络请求之Retrofit+Okhttp+RxJava组合
  • 原文地址:https://www.cnblogs.com/zhaot1993/p/13775541.html
Copyright © 2011-2022 走看看