web攻防日常小知识点积累(持续更新……)

  本篇博客主要是记录自己在日常的学习中碰到的一些以前不清楚的小知识点以及在看文章的过程中碰到的一些好的思路,记录下来复习的时候用。

1.登录界面鉴别是否可以爆破:利用burpsuite抓包后进行repeater测试,多次repeater对比后获得的网站的响应仅有时间不同,则可以爆破。

2.当没有思路的时候不妨F12看看源码。

3.get传参报错的时候再试试curl来post传参

4.手工注入的常规思路:判度是否存在注入,注入是字符型还是数字型;猜解SQL查询语句中的字段数(利用order by);确定显示的字段的顺序;获取当前数据库;获取数据库中的表;获取表中的字段名;查询到账户的数据

5.WAF的防护策略(打算等碰到了以后专门来学习积累这一块):

  基于web攻击特征库的正则表达式的匹配方式。

  策略规则组成规则链表的方式,深度检查请求头部、请求提交内容、响应头部、响应内容体等内容进行逐条匹配检查。

6.XSS漏洞如此普遍的原因(本质是HTML注入):

  web浏览器本身的设计是不安全的。浏览器包含了解析和执行JS等脚本语言的能力,这些语言可以被用来创建各种功能但是浏览器只会执行并不会判断数据和代码是否执行

  web应用程序有输入和输出功能

  忽视XSS漏洞

7.CMS:内容管理系统。CDN:可以理解为中转器,你访问网站的时候访问的是离你最近的中转器,这样快。识别的话ping一下就能看到

8.文件上传中,如果目标系统没有上传点或者找不到上传的位置:PHPinfo和本地文件相结合

9.旁站:与这个网站在同一个服务器上的网站。

10.token:令牌,是用户身份的验证方式。比如当你登录一个程序时,它为依据,判断你是否已经授权该软件

     session:会话,代表服务器与浏览器的一次会话过程,在服务器端

     cookie:在客户端,下次自动登录白名单

11.会话劫持的本质是攻击中带上了Cookie并发送到了服务端

12.安全防御的原则:最小权限原则;纵深防御,不同层次不同方面;数据代码分离;白名单、黑名单;不可预测性(如win中的ASLR)

13.同源策略:域名、端口、协议相同。浏览器的同源策略,限制了来自不同源的document或脚本,对当前的document读取或设置某些属性

14.CSRF的两个关键点:跨站点的请求与请求是伪造的

15.IPS:入侵防御系统,是通过分析网络流量,检测入侵并通过一定的响应方式实时的中止入侵

     IDS:入侵检测系统

16.访问是PC端对服务器端的某个端口发起的网络请求

17.SSH的本地端口转发是在本地(客户机)监听一个端口,所有访问这个端口的数据会通过SSH隧道传输到远端的对应端口。

  本地转发是将远程主机(服务器)某个端口的数据转发到本地机器的指定端口。远程端口转发是在远程主机上监听一个端口,所有访问远程服务器指定端口的数据都会通过SSH隧道传输到本地的对应的端口

18.进入到网站后台后,先找三类功能:上传功能,传webshell;查询功能,是否存在SQL注入,拿数据,比如哈希密码;命令功能,判断服务器的操作来进行命令注入,比如上传压缩包,页面显示压缩包内容,那么服务端就执行了unzip命令

19.任意文件上传攻击注意四个要素:找寻文件路径、指定文件拓展名、写入脚本代码、防WAF拦截

20.登录功能可以做的工作很多,比如账号是否可枚举、密码是否可爆破,但是前提都是没有验证码

21.密码找回功能易出现逻辑漏洞。

22.文件上传中,黑名单,若服务器是apache,可以考虑 .htaccess;在windows环境下,xx.jpg[空格]或者xx.jpg.这两类文件是不允许存在的,如果这样命名,windows会默认去除空格和点。 PHP在windows中若文件名+“::$DATA”会把::$DATA之后的数据当作文件流处理,不会检测文件的后缀名,并且保持"::$DATA"之前的文件名,他的目的就是不检测后缀名

23.web容器是一种服务程序,在服务器中一个端口就对应一个提供相应服务的程序,如apache的默认端口是80,而这个程序就是处理服务器从客户端收到的请求,如java的tomcat容器,asp的IIS;一个服务器可以有多个容器,常见的容器有:IIS、Apache、Njnix、Tomcat、Jboss、Weblogic

24.一个界面的构成:HTML+CSS+JS。 JS:为网页添加动态功能,为用户提供更加美观的效果。 CSS:为了网页更加美观。 HTML:超文本标记语言,包含页面所需的内容。

25.SHODAN常见的搜索:1.net(直接搜ip地址) 2.city 3.country 4.port 5.os 6.hostname 7.server; 加上:后再进行限制条件搜索,可以多个限制条件相结合

26.没有思路多看看网页源码;

http状态码:

200:服务器成功处理请求并提供了请求的网页

204:服务器成功处理了请求但没有返回任何内容

301:请求的网页已经永久移动到了新的位置,URLS发生变化时就要301重定向

302:请求的网页临时移动到新的位置,搜索引擎索引中保存原来的URL

304:若网页自请求者上次请求后没有更新,304代码会告诉搜索引擎

400:服务器不理解请求的语法

403:服务器拒绝请求

404:服务器找不到请求的网页

410:请求的资源永久删除后,服务器返回此相应

500:服务器遇到错误,无法完成请求

503:服务器目前无法使用

27.当前用户无sudo权限时可以cat /etc/passwd查找别的用户,关注/home/用户名

28./dev/null:若希望执行某个命令,但是又不希望在屏幕上显示输出结果,那么可以将结果重定向到/dev/null中起到“禁止输出”的效果。/dev/null是一个特殊的文,可以理解为无底洞

29.ping命令是ICMP数据包;

30.CSP:为了让web应用程序分出哪些脚本是被第三方注入的,哪些脚本是程序自身的.CSP定义了 Content-Security-Policy HTTP头

         Content-Security-Policy:script-src 'self' https://apis.google.com 只允许执行自身和特定url中的脚本

但是现代浏览器已经通过前缀来提供了支持:Firefox使用x-Content-Security-Policy,WebKit使用X-WebKit-CSP。未来会逐步过渡到统一的标准。

“none”:你可能期望不匹配任何内容
“self”:与当前来源相同,但不包含子域
“unsafe-inline”:允许内联Javascript和CSS
“unsafe-eval”:允许文本到JS的机制例如eval

31.XXE:攻击者通过向服务器注入指定的XML实体内容,从而让服务器按指定的配置进行执行而出现问题。即服务端接收和解析来自用户端的XML数据而没有做严格的限制而导致XML外部实体注入。

32.HTML和XML最大的不同:

html是用来显示数据的;xml是用来描述数据、存放数据的,所以可以作为持久化的介质!Html将数据和显示结合在一起,在页面中把这数据显示出来;xml则将数据和显示分开。 XML被设计用来传输和存储数据,其焦点是数据的内容。HTML被设计用来显示数据,其焦点是数据的外观。

33.

利用站长之家的whois来查询:

站长之家的备案信息查询:

子域名挖掘的方法:maltego CE、wydomain、subDomainsBrute、dnsmaper、layer子域名挖掘机

34.对于收集端口信息:可以用nmap或masscan来探测(利用其发送TCP或UDP数据包),不同的工具收集的信息可能有所不同。若不想与目标产生交互可以利用在线网站(站长之家,只能探测一些公网IP)来查询

 34.绕过CDN获取真实IP:

    1.内部邮箱源,收集到内部邮箱服务器IP地址

     2.网站的phpinfo文件phpinfo.php

    3.分站IP地址,查询子域名,分站可能不适用CDN

    4.查询域名解析记录

35.

猜你喜欢

转载自blog.csdn.net/weixin_40602516/article/details/110563224