zoukankan      html  css  js  c++  java
  • 初识web安全

    web默认运行在服务器的  80 端口

    搜索信息,利用google hack

    常用语法:

    site 搜索子域名

    intext 正文中存在的关键字

    intitle 标题存在的关键字

    info

    inurl URL存在关键字的网页

    filetype

    漏洞篇

    SQL注入

    根据SQL语言的参数类型,可以大体分为两大类型,一是数字型注入,二是字符串注入

    数字型注入,在SQL语句的where 字段 添加 OR 1=1 时SQL语句为真,顺利执行结果

    字符型注入,需要字符闭合,把数字转换成为字符注入

    SQL注入还可以利用数据库本身的特点进行注入,比如利用数据库的函数,错误信息注入等。

    预防的手段:

    严格的数据类型,在传递给SQL语句参数时,判断输入的参数类型是否符合规范

    如果输入的参数有特殊的字符,需要进行转义

    使用预编译语句,即PreparedStatement

    使用框架技术,如Hibernate,mybatis

    上传漏洞

    只有存在上传文件的地方,就可能存在漏洞,攻击者可以通过隐蔽的方法,比如在图片中隐藏木马,包含恶意代码的文件上传到服务器,而服务器 解析 文件,就可能执行这些恶意文件。

    比如IIS容器中,会把 *.asa , *.asp 文件夹中的文件当作代码解析,如果攻击者把文件上传到这些文件夹里,就能窃取服务器内容。

    类似的有Apache 解析文件时,是根据扩展名向前解析,碰到 Apache能识别的文件扩展名,就会成功解析,比如用户上传了 1.php.rar.ss 文件,Apache 不能识别ss , rar 后缀,但能识别php,所以用户上传的文件会以PHP文件解析。

    PHP CGI也是一个著名的文件扩展名向前解析漏洞。

    服务端预防措施:

    建立黑名单,白名单,如果上传文件的扩展存在黑名单目录,那么上传失败;如果文件的扩展名存在白名单目录,上传成功。效果不好,非常容易更改扩展名 破解黑名单和白名单。

    MIME验证,MIME设定某种扩展名的打开方式,可以查看MIME的类型,判断上传文件的类型。

    目录验证,将文件上传到指定的目录,如果目录不存在则新建一个目录,文件存入服务器本地时,随机新设立一个名字。

    上传漏洞发生的原因:

    目录过滤不严格,攻击者可能利用畸形目录;文件未重名,攻击者利用WEB容器的解析规则

    XSS漏洞,跨脚本漏洞

    前端攻击,在用户的HTML界面嵌入JavaScript代码,获取信息,比如cookie,服务器信息。

    常见的XSS攻击,在用户输入的地方 插入JavaScript代码,利用webshell 获取服务端信息。

    预防的手段:

    对用户的输入进行过滤,过滤掉那些特殊的字符 ; 对用户的输出 进行 转义,转义掉那些特殊的字符。

    命令执行漏洞

     OS漏洞,获取直接执行系统命令的能力,最常发送的是在PHP页面,发送OS漏洞,相当于在webshell上执行命令。

    CSRF漏洞,跨站点请求伪造

     发生的场景:

    一是 你正在与服务器进行一个会话

    二是  在会话没有关闭期间,攻击者根据链接信息,伪造了一个URL请求,你点击了这个请求。

    预防手段:

    二次确认,对于重要的URL访问链接,加上二次验证,比如图片验证,确认验证。

    Token验证,在会话期间服务器发送一个唯一的token字段,每次URL请求都需要加上这个token字段。 注意如果用户遇上了XSS请求,攻击者会根据cookie信息,窃取token,那么token验证就失效了。

    逻辑漏洞

    权限漏洞

    密码找回漏洞,在用户发送找回连接时,在用户验证完成后,修改密码之前,劫持数据包,修改数据包中的 用户邮箱连接,这时服务器根本不知道 用户 的找回邮箱修改了,也会发送新设密码页面,攻击者可以根据页面 修改 邮箱的密码。

    支付逻辑漏洞,如果在用户购买商品时,闯入的商品数量,不是正数,而是一个负数,那么就会发送漏洞。

    代码注入,根据用户的输入xml, json , xpath信息 传递恶意代码

    WEB服务器本身的漏洞

    在WEB安全中有一句只关重要的民谚:

    对用户的一切输入信息 要进行过滤,对用户的输出要进行转义。

  • 相关阅读:
    CMS、G1收集器
    一文入门Redis
    一文解析TCP/UDP
    ubuntu官方源
    一、单体架构分析
    netty简介2
    netty简介
    安装vmware tool
    jdk1.8安装(转载)
    HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
  • 原文地址:https://www.cnblogs.com/lin7155/p/13799794.html
Copyright © 2011-2022 走看看