关于安全渗透测试

关于安全渗透测试

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

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

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

转载于:https://www.cnblogs.com/521world/p/11425651.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值