• 关于安全渗透测试


    关于安全渗透测试

    今日面试,被面试官问到了相关的问题。做移动端开发久了,感觉这方面知识比较薄弱。自己眼界太窄,希望有所提升,目前还未能够自己写出什么,所以先从搜集靠谱有效的学习资料为主:

    DDoS 攻击:

    https://blog.csdn.net/qq_38461232/article/details/81490835

    跨域跨站点会导致带来的安全问题:

    跨域策略文件crossdomain.xml的配置方法:https://blog.csdn.net/gnail_oug/article/details/53488918

    XSS

    论文《跨站点脚本攻击XSS的攻击原理与防护》 : http://qikan.chaoxing.com/detail_38502727e7500f268613b8c9f21182baa157ddb811465bd71921b0a3ea255101fc1cf1fbb4666ae6b482aae47f2372d89481e7759aec142c1017c39303f14dba45194c423c441d84360ab0e64b83e20b

    《XSS攻击分析与防御机制研究》
    http://qikan.chaoxing.com/detail_38502727e7500f26c23f5ee960960dafeef95ceaa6288a431921b0a3ea255101fc1cf1fbb4666ae6985b53766f092a20e2161c3b568afc5811c249f15ae28f5a1705e770d7d064399ee42e536699d26b

    浅谈XSS 原理与解决方法:
    https://www.cnblogs.com/shawWey/p/8480452.html

    浏览器缓存历史记录带来的安全问题

    服务器日志带来的安全问题

    其他材料方面的解释:

    面试题:

    什么是sql注入,什么是跨站脚本,什么是跨站请求伪造?

    SQL 注入

    **SQL 注入攻击 **是注入攻击最常见的形式(此外还有 OS 注入攻击(Struts 2 的高危漏洞就是通过 OGNL 实施 OS 注入攻击导致的)),当服务器使用请求参数构造 SQL 语句时,恶意的 SQL 被嵌入到 SQL 中交给数据库执行。SQL注入攻击需要攻击者对数据库结构有所了解才能进行,攻击者想要获得表结构有多种方式:

    1. 如果使用开源系统搭建网站,数据库结构也是公开的(目前有很多现成的系统可以直接搭建论坛,电商网 站,虽然方便快捷但是风险是必须要认真评估的);
    2. 错误回显(如果将服务器的错误信息直接显示在页面上,攻击者可以通过非法参数引发页面错误从而通过错误信息了解数据库结构,Web应用应当设置友好的错误页,一方面符合最小惊讶原则,一方面屏蔽掉可能给系统带来危险的错误回显信息);
    3. 盲注。防范 SQL注入攻击也可以采用消毒的方式,通过正则表达式对请求参数进行验证,此外,参数绑定也是很好的手段,这样恶意的SQL会被当做 SQL 的参数而不是命令被执行,JDBC 中的 PreparedStatement就是支持参数绑定的语句对象,从性能和安全性上都明显优于Statement。

    XSS

    XSS(Cross Site Script,跨站脚本攻击)是向网页中注入恶意脚本在用户浏览网页时在用户浏览器中执行恶意脚本的攻击方式。跨站脚本攻击分有两种形式:

    • 反射型攻击(诱使用户点击一个嵌入恶意脚本的链接以达到攻击的目标,目前有很多攻击者利用论坛、微博发布含有恶意脚本的URL就属于这种方式)

    • 持久型攻击(将恶意脚本提交到被攻击网站的数据库中,用户浏览网页时,恶意脚本从数据库中被加载到页面执行,QQ邮箱的早期版本就曾经被利用作为持久型跨站脚本攻击的平台)。

    CSRF

    CSRF 攻击(Cross Site Request Forgery,跨站请求伪造)是攻击者通过跨站请求,以合法的用户身份进行非法操作(如转账或发帖等)。CSRF 的原理是利用浏览器的 Cookie 或服务器的 Session,盗取用户身份,其原理如下图所示。防范CSRF的主要手段是识别请求者的身份,主要有以下几种方式:

    1. 在表单中添加令牌(token);
    2. 验证码;
    3. 检查请求头中的 Referer(前面提到防图片盗链接也是用的这种方式)。 令牌和验证都具有一次消费性的特征,因此在原理上一致的,但是验证码是一种糟糕的用户体验,不是必要的情况下不要轻易使用验证码,目前很多网站的做法是如果在短时间内多次提交一个表单未获得成功后才要求提供验证码,这样会获得较好的用户体验

    PHP 使用 htmlspecialchars() 函数

    什么是 htmlspecialchars() 函数?
    htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 < 和 > 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。
    具体详见: https://www.w3school.com.cn/php/php_form_validation.asp

    一直更新完善.... 加油,从小小的岗位开始,照亮自己,做好职责,更加优秀,乃至为了国家的强大,为了和平!

  • 相关阅读:
    [LOJ537] DNA 序列
    yum安装jdk
    centos7添加tomcat自启服务
    ajax下载文件的方法 php下载图片的方法
    kali linux dpkg安装和删除的方法
    javascript 曲线流光动画
    javascript获取曲线路径每个像素的坐标
    抓取微信小程序源码的方法
    javascript canvas拖尾效果
    php错误execution timed out (118.236064 sec), terminating解决方法
  • 原文地址:https://www.cnblogs.com/521world/p/11425651.html
Copyright © 2020-2023  润新知