GithubHelp home page GithubHelp logo

web-security-primary's Introduction

Web安全测试手册(初级)

本手册最终目的在于指导如何通过简单的操作发现常见应用安全漏洞,后续深入利用请参考各大安全论坛(或者等本手册中级更新)

如果把WEB/APP看成一个抽象意义上的程序,它们(程序)最基本也是最核心的功能,就是处理输入输出流。一个典型的程序输入输出流如下:

user_input=input()
program_output=code_exec(user_input)
screen_print(program_output)

一个经过初步安全防护的程序流程如下:

user_input=input()
user_input_after_filter=safe_func(user_input)
program_output=code_exec(user_input_after_filter)
screen_print(program_output)

衡量一个程序安全性的标准分以下两点:

1、有无safe_func()

2、功能接口常规输入可以变形成哪些有攻击性的输入?safe_func()过滤这些恶意字符串的能力如何?

对于普通站点而言,所有的输入流均来自不可信的用户,你永远无法预测用户的输入(即便是网站本身的参数也可以被用户恶意修改)但是你可以通过代码控制站点的输出(输出是指广义上的输出,调用其他模块功能也属于输出),所以掌握基本的Web安全测试能力对于提升网站整体安全性十分关键。

Web安全测试,原则上就是利用【精心构造】的user_input去测试能否得到【该功能存在漏洞】的program_output。

本手册除基础知识外,包含两个大的模块,服务端(backend)和用户端(frontend),模块中的每章结构均为:简介-原理-技巧

简介:符合直觉理解的图文【WHAT】

原理:概括类型漏洞的产生原因【WHY】

技巧:攻防两端的对抗升级【HOW】

#如果你对于HTTP协议及相关工具十分熟悉,可以跳过基础知识章节。

#否则,建议阅读过后再进入具体的漏洞类型

章节列表:

#基础知识

HTTP数据包

COOKIE、JWT

Burpsuite基本功能介绍

盲打与无回显

网站信息泄漏

XML

AJAX、同源策略、JSONP、CORS

#服务端

目录遍历

命令注入

越权

文件上传

XXE

逻辑漏洞(登陆、重置、业务等)

SQL注入

SSRF

#用户端

XSS

CSRF

不合理的CORS配置

JSONP

URL跳转

#致谢,本手册在编辑期间参考了如下网站及书籍,排名不分先后

xz.aliyun.com

paper.seebug.org

portswigger.net

freebuf.com

白帽子讲web安全

从0到1:ctfer成长之路

美团前端技术团队

阮一峰的网络日志

菜鸟教程

web-security-primary's People

Contributors

zring101 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.