在http请求报文中载入攻击代码,就能发起对web应用的攻击。通过url查询字段或者表单、http首部、cookie等途径吧攻击代码传入,若这时web应用存在安全漏洞,那内部信息就会遭到窃取!

对web的攻击模式有两种:
  1. 主动攻击(主动攻击server)
  2. 被动攻击(上传木马程序,用户訪问时触发http陷阱)


实施的安全策略主要分为两步:
  1. client验证
  2. 服务端验证(输入值验证。输出值转义)

两种基本的攻击方式
1.SQL注入攻击(php防止方法是使用mysqli_real_escape_string或者addslashes进行输入数据的转义)
2.XSS攻击(运行js代码获取用户的cookie等信息。进行验证。使用strip_tags和htmlspecialchars或者htmlentities)


sql攻击破解

<?

php

 $clean = array();

$mysql = array();



$clean['last_name'] = "O'Reilly";

$mysql['last_name'] = mysql_real_escape_string($clean['last_name']);



$sql = "INSERT

      INTO   user (last_name)

      VALUES ('{$mysql['last_name']}')";

 ?>


mysqli_real_escape_string

(PHP 5)

mysqli::real_escape_string -- mysqli_real_escape_string — Escapes
special characters in a string for use in an SQL statement, taking into account the current charset of the connection

尽量使用为你的数据库设计的转义函数。

假设没有,使用函数addslashes()是终于的比較好的方法。

string addslashes ( string $str )

返回字符串。该字符串为了数据库查询语句等的须要在某些字符前加上了反斜线。

这些字符是单引號(')、双引號(")、反斜线(\)与
   NUL( NULL 字符)。



htmlspecialchars仅仅是将下列的特殊字符转换成实体。htmlentities是将全部的有实体的html标签转换成相应的实体
  • '&' (ampersand) becomes '&amp;'
  • '"' (double quote) becomes '&quot;' when ENT_NOQUOTES is not set.
  • "'" (single quote) becomes ''' (or &apos;) only when ENT_QUOTES is
    set.
  • '<' (less than) becomes '&lt;'
  • '>' (greater than) becomes '&gt;'

防止xss攻击

//这是一个有xss攻击的php代码xss.php
<?

php

if (isset($_POST['name'])){
//     $str = trim($_POST['name']);  //清理空格
//     $str = strip_tags($str);   //去除html标签
//     $str = htmlspecialchars($str);   //将字符串内容转化成html实体
//     $str = addslashes($str);
//     echo $str;
echo $_POST['name'];
}
setcookie("aaa",'bbb');
?>
<form method="post" action="">
<input name="name" type="text" width="200">
<input type="submit" value="提交" >
</form>


当我訪问该页面,而且输入框中输入<script>alert(document.cookie);</script>。以下是原始的页面

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGQ5MDExMDV0ZA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

点击提交之后

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGQ5MDExMDV0ZA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

点击确定button

注意head内部已经有我们提交的js代码。

假设我们取消代码中的红色的凝视部分。再次运行

web攻击方式和防御方法的更多相关文章

  1. DDoS攻击、CC攻击的攻击方式和防御方法

    DDoS攻击.CC攻击的攻击方式和防御方法 - sochishun - 博客园https://www.cnblogs.com/sochishun/p/7081739.html cc攻击_百度百科htt ...

  2. 几种常见web攻击手段及其防御方式

    XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 XSS 概念 全称是跨站脚本攻击(Cross ...

  3. 总结几种常见web攻击手段及其防御方式

    本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 ...

  4. [转帖][思路/技术]Mimikatz的多种攻击方式以及防御方式

    [思路/技术]Mimikatz的多种攻击方式以及防御方式 https://bbs.ichunqiu.com/thread-53954-1-1.html 之前学习过 抄密码 没想到还有这么多功能.   ...

  5. 第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法

    第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法 原文地址:http://bristolcrypto.blogspot.com/2015/08/52-things-number-45-de ...

  6. 【转】浅谈常用的几种web攻击方式

    浅谈常用的几种web攻击方式 一.Dos攻击(Denial of Service attack) 是一种针对服务器的能够让服务器呈现静止状态的攻击方式.有时候也加服务停止攻击或拒绝服务攻击.其原理就是 ...

  7. Web前端攻击方式及防御措施

    一.XSS [Cross Site Script]跨站脚本攻击 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户 ...

  8. 简单了解:Web前端攻击方式及防御措施

    一.XSS [Cross Site Script]跨站脚本攻击  恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用 ...

  9. 简单总结几种常见web攻击手段及其防御方式

    web攻击手段有几种,本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS XSS 概念 全称是跨站脚本攻击(Cross Site Scr ...

随机推荐

  1. RBAC - 基于角色的权限控制

    ThinkPHP中关于RBAC使用详解 自己的源码下载:百度网盘,thinkPHP文件夹下,RBAC文件夹. 重要的是,权限信息的写入函数等.在源码中能找到,Modules/Amin/Common/c ...

  2. ThreadLocal 和 InheritableThreadLocal (引用)

    ThreadLocal:http://www.cnblogs.com/moonandstar08/p/4912673.html InheritableThreadLocal:  http://www. ...

  3. gmake使用注意

    今天使用gmake把sgml变成html的时候出现了无法找到gmake的困惑(本人linux为ubuntu15.04),上网搜索发现: gmake是GNU Make的缩写.Linux系统环境下的mak ...

  4. 触发器应用 trigger

    首先有一张表: create table T_SALARY ( name VARCHAR2(20), age NUMBER(2), salary NUMBER(5) ); insert into t_ ...

  5. android如何添加桌面图标和卸载程序后自动删除图标

    android如何添加桌面图标和卸载程序后自动删除桌面图标,这是一个应用的安装与卸载过程对桌面图标的操作,下面与大家分享下具体是如何实现的,感兴趣的朋友可以参考下哈 1:创建图标如下 Intent i ...

  6. HTML 5 Web Storage 使用

    在html中,可以使用 Web Storage API 来保存数据在浏览器客户端,这样可以避免重复从服务器加载数据. 有两种API, sessionStorage 和 localStorage ,它们 ...

  7. 基于visual Studio2013解决C语言竞赛题之0501挑选素数

        题目

  8. Debian为程序添加一个开始菜单,debian添加sublime开始菜单.

    下了一个 '绿色' 的程序,想要加到开始菜单里面. 怎么做呢? 我这里以sublime2做例 去http://www.sublimetext.com/2 下载了linux 64位, 解压放到了下面的文 ...

  9. C++成员变量与函数内存分配

    关于结构体和C++类的内存地址问题 C++类是由结构体发展得来的,所以他们的成员变量(C语言的结构体只有成员变量)的内存分配机制是一样的.下面我们以类来说明问题,如果类的问题通了,结构体也也就没问题啦 ...

  10. Amazon的AWS账单看起来不是很方便

    发了一个PDF格式的收据,只写了收取的费用,EC2下面的明细没有. DetailAmazon Simple Notification Service $0.00Charges $0.00Estimat ...