什么是XSS攻击?什么是CSRF攻击?什么是sql注入?如何防范
CSRF(Cross-site request forgery)跨站请求伪造,黑客建立一个伪造网站或发送邮箱带了一个正常URL链接来让正常用户访问,来让正常用户让自己浏览器里的COOKIE权限来执行一些非法请求,
如转账,提权等操作,
防范方法有,验证 HTTP Referer 字段;在请求地址中添加 token 并验证;
XSS攻击
主要将XSS代码提交存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。当目标用户访问该页面获取数据时,XSS代码会从服务器解析之后加载出来,返回到浏览器做正常的HTML和JS解析执行,XSS攻击就发生了。
1.反射型(例一)、
<form action="" method="get">
<input type="text" name="xss"/>
<input type="submit" value="test"/>
</form>
<?php
$xss = @$_GET['xss'];
if($xss!==null){
echo $xss;
}
部署好这个文件,访问http://localhost/xss.php,直接输入一个js代码,比如<script>alert('hack')</script>,
防范方法:通过过滤是针对非法的HTML代码包括单双引号等,使用htmlspecialchars()函数