2018-2019-2 20165222《网络对抗技术》Exp9 Web安全基础
1.实践过程记录
1.字符串型注入。
2.整数型注入
3.注入语句查看其他内容
4.xss是一种漏洞,这种漏洞允许用户输入脚本并且浏览器提交的时候不加编码。这种东西是最为流行并且有害的web应用的问题。web应用上有一些“特权功能”是通过JavaScript来连接的,如果这种跳转机制没有被正确地保护起来,用户很容易被人通过xss盗走cookie里面的认证信息。
所以这道题就是开一个新标签页然后按照他说的在URL里面添加JavaScript脚本,体会一下xss。
5.利用alert函数或者console.log()函数知道那个输入框容易被xss攻击
6.这题是让在客户端重定向网页,找到test代码,因此找到跳转的页面js代码。
7.这一题为获得flag数字的题,点击按钮后会发现flag出的值为null,因此吧false改成true后刷新,得到flag。
实验后回答问题
(1)SQL注入攻击原理,如何防御
原理:SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
sql注入攻击是利用是指利用设计上的漏洞,在目标服务器上运行Sql语句以及进行其他方式的攻击,动态生成Sql语句时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因。如:在用户名、密码登输入框中输入一些',--,#等特殊字符,实现引号闭合、注释部分SQL语句,利用永真式实现登录、显示信息等目的。
防御:关闭或删除不必要的交互式提交表单页面;对漏洞注入点相关代码进行关键字的过滤(如:利用正则表达式),以规范代码安全性;不要在服务器端放置备份的文件以免受到感染,或备份的文件含有漏洞,造成切入点;将数据库里的内容进行加密处理使其不具有特殊的意义。
(2)XSS攻击的原理,如何防御
原理:XSS:跨站脚本。攻击者利用网站漏洞(通常这些漏洞是指网站后台处理程序没有很好的对用户输入进行过滤),输入可以显示在页面上的、对其他用户造成影响的HTML代码;由于受害者浏览器对目标服务器的信任,当其访问目标服务器上被注入恶意脚本(如:html标签或者javascript代码)的页面后,这段恶意脚本可以顺利执行,实现获取用户cookie并可以利用用户身份进行非法操作的目的。
防御:
用户提高防范意识,不要轻易输入个人信息,如用户名密码。
(3)CSRF攻击原理,如何防御
原理:
CSRF就是冒名登录。跨站请求伪造的核心本质是窃取用户的Session,或者说Cookie,因为目前主流情况Session都是存在Cookie中.攻击者并不关心被害者具体帐号和密码,因为一旦用户进行了登录,Session就是用户的唯一凭证,只要攻击者能够得到Session,就可以伪装成被害者进入服务器。
防御:
添加随机验证。
实验总结与体会
题目感觉相当麻烦,主要是看不懂题,在xss题里很多地方都是参考了别人教的才知道怎么弄。