Web安全入门基础知识(笔记)
Web安全入门基础知识笔记Web安全入门基础知识笔记目录0x01 基础名词一、域名1.什么是域名2.域名在那里注册3.什么是二级域名多级域名顶级域名4.域名发现对于安全测试的意义二、DNS1.什么是DNS2.本地host和DNS的关系3.CDN是什么和DNS有什么关系三、常见的DNS攻击四、脚本语言1.常见的脚本语言有哪些2.不同的脚本类型于安全漏洞的关系3.漏洞挖掘代码审计于脚本类型的关系五、后门1.什么是后门有哪些后门2.后门在安全测试的意义六、WEB1web的组成架构模型2架构漏洞安全测试简要介绍3为什么要从web层面为主首4WEB相关安全漏洞0x02 数据包拓展一、Http与Https1Http与Https3HttpHttps的传输过程二、Request 请求数据包数据格式1.请求行2.请求头3.空行4.请求体三、Response 返回数据包数据格式1.状态行2.响应头标3.空行4.响应数据0x03 搭建安全拓展搭建安全拓展 IIS2.域名ip目录解析安全问题3.用域名访问网站的目录用ip地址访问网站是在域名目录的上一级(可能扫描到备份文件敏感信息)5.常见文件后缀解析对应安全6.常见安全测试中的安全防护7.Web后门与用户及文件权限0x04 WEB源码拓展1.WEB源码目录结构WEB源码脚本类型3.WEB源码应用分类4.WEB源码的其他说明0x05 系统及数据库等1.操作系统2.数据库3.第三方4.补充0x01 基础名词一、域名1.什么是域名域名就是网站地址的名称例如www.baidu.com2.域名在哪里注册国内万维网阿里云国外 Godaddy3.什么是二级域名多级域名顶级域名顶级域名 baidu.com yuque.com 只有一个.域名二级域名 news.baidu.com tieba.baidu.com 加在顶级域名前的域名多级域名 test.news.baidu.com 加在在二级域名前的域名4.域名发现对于安全测试的意义同一网站的顶级域名和多级域名之间有联系给安全测试多一种可能性二、DNS1.什么是DNSDNS是域名系统服务协议主要用于域名和IP地址的相互切换例如在cmd命令控制台中可以通过 ping www.baidu.com 将域名解析成IP地址2.本地host和DNS的关系本地host路径“windows”→“System32”→“drivers”→“etc”。DNS在解析域名时会优先访问host文件寻找是否有域名对应的IP地址如果没有再去互联网上去解析3.CDN是什么和DNS有什么关系CDN是 内容分发网络缓存节点技术让用户在不同的地方都能快速访问网站更改DNS的解析服务器地址会访问到不同地区的CDNCDN会访问最近的节点来保证访问速度三、常见的DNS攻击缓存投毒它是利用虚假Internet地址替换掉域名系统表中的地址进而制造破坏。DNS劫持是指在劫持的网络范围内拦截域名解析的请求分析请求的域名把审查范围以外的请求放行否则返回假的IP地址或者什么都不做使请求失去响应其效果就是对特定的网络不能访问或访问的是假网址。针对面较广域名劫持域名劫持就是在劫持的网络范围内拦截域名解析的请求分析请求的域名把审查范围以外的请求放行否则直接返回假的IP地址或者什么也不做使得请求失去响应其效果就是对特定的网址不能访问或访问的是假网址。针对面窄一点DNS DDOS攻击通过控制大批僵尸网络利用真实DNS协议栈发起大量域名查询请求利用工具软件伪造源IP发送海量DNS查询发送海量DNS查询报文导致网络带宽耗尽而无法传送正常DNS查询请求。四、脚本语言1.常见的脚本语言有哪些asp php aspx jsp javaweb pl py cgj等2.不同的脚本类型于安全漏洞的关系不同脚本语言规范不一样规范严谨的相对来说安全漏洞出现的比较少规范不严谨的脚本语言相对来说出现安全漏洞的几率更大3.漏洞挖掘代码审计于脚本类型的关系需要能看懂脚本语言五、后门1.什么是后门有哪些后门攻击者在得到权限后留下后门文件方便下次进入服务器后门网站后门等等2.后门在安全测试的意义可以更方便的链接到主机在获取到主机权限的时候后门可以充当命令控制台的角色六、WEB1web的组成架构模型网站源码分脚本类型应用方向(论坛博客社交)操作系统windows Linux中间件搭建平台apache iis tomcat数据库:access mysql mssql oracle sybase db2 postsql 等2架构漏洞安全测试简要介绍3为什么要从web层面为主首web使用的比较广web网站了漏洞相对较多web 作为跳板深入到其他资源相对容易4WEB相关安全漏洞WEB 源码类对应漏洞SQL 注入上传XSS代码执行变量覆盖逻辑漏洞反序列化等WEB 中间件对应漏洞未授权访问变量覆盖…WEB 数据库对应漏洞弱口令权限提升…WEB 系统层对应漏洞提权远程代码执行0x02 数据包拓展一、Http与Https浏览器Request request 服务器浏览器response response 服务器Request 数据请求proxy 代理response 数据返回1Http与Https3HttpHttps的传输过程http传输过程建立连接发送请求数据包返回响应数据包关闭连接https传输过程二、Request 请求数据包数据格式1.请求行请求行由三个标记组成请求方法、请求 URL 和 HTTP 版本它们用空格分享。例如GET /index.html HTTP/1.1HTTP 规划定义了8种可能的请求方法GET检索URL中标识资源的一个简单请求。HEAD与GET方法相同服务器只返回状态行和头标并不返回请求文档。POST服务器接收被写入客户端输出流中的数据的请求。PUT服务器保存请求数据作为指定URL新内容的请求。DELETE服务器删除URL中命令的资源的请求。OPTIONS关于服务器支持的请求方法信息的请求。TRACEweb服务器反馈HTTP请求和其头标的请求。CONNECT已文档化但当前未实现的一个方法预留做隧道处理。2.请求头由关键字/值对组成每行一对关键字和值用冒号分享。请求头标通知服务器腾于客户端的功能和标识。HOST: 主机或域名地址Accept指浏览器或其他客户可以接受的 MIME 文件格式。Servlet 可以根据它判断并返回适当的文件格式。User-Agent是客户浏览器名称Host对应网址 URL 中的 Web 名称和端口号。Accept-Langeuage指出浏览器可以接受的语言种类如 en 或 en-us指英语。connection用来告诉服务器是否可以维持固定的 HTTP 连接。http 是无连接的HTTP/1.1 使用 Keep-Alive为默认值这样当浏览器需要多个文件时(比如一个 HTML 文件和相关的图形文件)不需要每次都建立连接Cookie浏览器用这个属性向服务器发送 Cookie。Cookie 是在浏览器中寄存的小型数据体它可以记载和服务器相关的用户信息也可以用来实现会话功能。Referer 表 明 产 生 请 求 的 网 页 URL 。 如 比 从 网 页 /icconcept/index.jsp 中 点 击 一 个 链 接 到 网 页/icwork/search 在 向 服 务 器 发 送 的 GET/icwork/search 中 的 请 求 中 Referer 是http://hostname:8080/icconcept/index.jsp。这个属性可以用来跟踪 Web 请求是从什么网站来的。Content-Type用来表名 request 的内容类型。可以用 HttpServletRequest 的 getContentType()方法取得。Accept-Charset指出浏览器可以接受的字符编码。英文浏览器的默认值是 ISO-8859-1.Accept-Encoding指出浏览器可以接受的编码方式。编码方式不同于文件格式它是为了压缩文件并加速文件传递速度。浏览器在接收到 Web 响应之后先解码然后再检查文件格式。3.空行最后一个请求头标之后是空行发送回车符和退行通知服务器以下不再有头标。4.请求体使用 POST 传送最常使用的是 Content-Type 和 Content-Length 头标。三、Response 返回数据包数据格式1.状态行状态行协议版本、数字形式的状态代码和状态描述个元素之间以空格分隔HTTP 响应码1xx信息请求收到继续处理2xx成功行为被成功地接受、理解和采纳3xx重定向为了完成请求必须进一步执行的动作4xx客户端错误5xx服务器错2.响应头标包含服务器类型、日期、长度、内容类型等3.空行响应头与响应体之间用空行隔开4.响应数据浏览器会将实体内容中的数据取出来生成相应的页面0x03 搭建安全拓展1. 搭建安全拓展 IIS常见搭建平台脚本启用2.域名ip目录解析安全问题3.用域名访问网站的目录4. 用ip地址访问网站是在域名目录的上一级(可能扫描到备份文件敏感信息)5.常见文件后缀解析对应安全6.常见安全测试中的安全防护7.Web后门与用户及文件权限0x04 WEB源码拓展1.WEB源码目录结构后台目录模板目录数据库目录数据库配置文件目录2. WEB源码脚本类型asp,sapx,php,javaweb,jsp,python不同脚本对应常用的数据库aspsapx sqlserverphpjavawebmysqljsppython3.WEB源码应用分类不同的应用类型在进行安全测试时的侧重点不同门户网站电商网站论坛网站博客网站第三方4.WEB源码的其他说明cms:开源程序能在网上直接下载到源码判断是否cms在网站中寻找cms标识源码的获取途径搜索引擎a5站长之家菜鸟源码0x05 系统及数据库等1.操作系统Winodws,LinuxWindows不区分大小写Linux区分大小写可以由此用来判断网站使用的系统2.数据库Sqlserver,mysql,oracel3.第三方4.补充黑客/网络安全学习包资料目录成长路线图学习规划配套视频教程SRC黑客文籍护网行动资料黑客必读书单面试题合集《网络安全从零到精通全套学习大礼包》96节从入门到精通的全套视频教程免费领取如果你也想通过学网络安全技术去帮助就业和转行我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。网络安全学习路线图想要学习 网络安全作为新手一定要先按照路线图学习方向不对努力白费。对于从来没有接触过网络安全的同学我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线大家跟着这个路线图学习准没错。配套实战项目/源码所有视频教程所涉及的实战项目和项目源码学习电子书籍学习网络安全必看的书籍和文章的PDF市面上网络安全书籍确实太多了这些是我精选出来的面试真题/经验以上资料如何领取面试真题/经验以上资料如何领取《网络安全从零到精通全套学习大礼包》96节从入门到精通的全套视频教程免费领取如果你也想通过学网络安全技术去帮助就业和转行我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。网络安全学习路线图想要学习 网络安全作为新手一定要先按照路线图学习方向不对努力白费。对于从来没有接触过网络安全的同学我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线大家跟着这个路线图学习准没错。配套实战项目/源码所有视频教程所涉及的实战项目和项目源码学习电子书籍学习网络安全必看的书籍和文章的PDF市面上网络安全书籍确实太多了这些是我精选出来的面试真题/经验以上资料如何领取精选出来的面试真题/经验以上资料如何领取