SQL注入

定义:黑客通过在请求的数据中填入特殊字符,影响服务器数据库操作程序正常执行,从而达到攻击的目的。

形式:

拼接SQL:

登录验证:前台输入 username:yan password:123’ or  1#

SQL语句:select * from user where username=’$username’ and password=’$password’

拼接后:select * from user where username=’yan ’ and password=’123’ or 1#’==>

防范:

  1. 加密(存密文,验证时穿密文) 123’ or ‘1-->0casdfh23uah15fjkj18ap

缺点:不可能对所有数据加密,除密码外其他字段也可以做手脚比如 yan’ or 1#=>’yan’ or 1#’(注释掉后面所有条件)

  1. 转义特殊字符

上述操作本质是利用了特殊字符’ 只需转义数据里的特殊字符就可以防范此类攻 击了。

123’ or  1#==>123\’ or 1

select * from user where username=’yan ’ and password=’123\’ or 1#’ //SQL报错

数字注入

用户id为1的用户点击删除

Delete from user where id =1

恶意用户 发起请求传入 1 or 1==>Delete from user where id = 1 or 1 (删除所有用户数据)

防范:将数字类型参数进行类型转换 1 or 1==>转换失败 无法执行恶意语句

结论:除了上面提到的用户密码验证,其他所有的请求数据都有可能成为攻击的目标,所以首先应该对所有请求数据进行安全处理,例如转义类型转换等。

XSS攻击

定义:XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。

举例

下面是一个简单的php程序,前端表单提交数据,后端直接输出用户输入的内容

form.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="xss.php" method="post">
        <input type="text" name="content" placeholder="输入内容"/>
        <input type="submit" placeholder="提交"/>
    </form>
</body>
</html><!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Title</title>

</head>

<body>

<form action="xss.php" method="post">

<input type="text" name="content" placeholder="输入内容"/>

<input type="submit" placeholder="提交"/>

</form>

</body>

</html>

xss.php:

<?php
echo $_POST['content'];

恶意执行js:

输入内容:<script>alert(“你好啊”)</script>

获取cookie信息:

输入内容:<script>alert(document.cookie)</script>

破坏html页面:

输入内容:

<h1>XSS攻击</h1>

防范:

以上攻击的主要原理就是输入了前端代码标签侵入了前端代码,只须对<和>转义就可以防范此类攻击。

<  转义成 <

>  转义成 >

结论: 要防范SQL注入和XSS攻击,就需要对前端发来的请求数据中的特殊字符都进行转义。(如‘’和<>)

SQL注入和XSS攻击的更多相关文章

  1. yii框架各种防止sql注入,xss攻击,csrf攻击

    PHP中常用到的方法有: /*  防sql注入,xss攻击  (1)*/    function actionClean($str)    {        $str=trim($str);      ...

  2. 防止sql注入。xss攻击 方法

    //防止sql注入.xss攻击    /**     * 过滤参数     * @param string $str 接受的参数     * @return string     */    publ ...

  3. 防止SQL注入和XSS攻击Filter

    nbsp;今天系统使用IBM的安全漏洞扫描工具扫描出一堆漏洞,下面的filter主要是解决防止SQL注入和XSS攻击 一个是Filter负责将请求的request包装一下. 一个是request包装器 ...

  4. PHP防止SQL注入和XSS攻击

    PHP防止SQL注入和XSS攻击PHP防范SQL注入是一个非常重要的安全手段.一个优秀的PHP程序员除了要能顺利的编写代码,还需要具备使程序处于安全环境下的能力.说到网站安全,就不得不提到SQL注入( ...

  5. SQL 注入、XSS 攻击、CSRF 攻击

    SQL 注入.XSS 攻击.CSRF 攻击 SQL 注入 什么是 SQL 注入 SQL 注入,顾名思义就是通过注入 SQL 命令来进行攻击,更确切地说攻击者把 SQL 命令插入到 web 表单或请求参 ...

  6. Nginx 防止SQL注入、XSS攻击的实践配置方法

    下班的时候,发现博客访问缓慢,甚至出现504错误,通过 top -i 命令查看服务器负载发现负载数值飙升到3.2之多了,并且持续时间越来越频繁直至持续升高的趋势,还以为是被攻击了,对来访IP进行了阈值 ...

  7. Node.js 项目中解决 SQL 注入和 XSS 攻击

    1.SQL 注入 SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令. SQL 注入示例 在登录界面,后端会根 ...

  8. 解决 SQL 注入和 XSS 攻击(Node.js 项目中)

    1.SQL 注入 SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令. SQL 注入示例 在登录界面,后端会根 ...

  9. 跨域、sql注入、xss攻击

    这几天遇到这三个问题,现在简单的记录下来. 1.跨域 如我服务器的域名是www.test1.com,我在另一个服务器www.test2.com通过ajax访问www.test1.com的数据时,就引起 ...

随机推荐

  1. 如何获取canvas当前的缩放值

    项目中一直有一个问题困扰着我,我们的画布可以缩放平移旋转,支持拖拽生成图形,生成手写笔迹,如果用户选择的线条粗细为5像素,那么即使画布缩放过绘制出的线条粗细也应该是视觉上的5px,所以再绘制时赋值给c ...

  2. upload-labs通关历程

    使用靶场前,先配置php版本为5.2,和下列对应配置. php.ini magic_quotes_gpc  Off php<5.3.4 httpd.conf AddType applicatio ...

  3. Spring-Gateway与Spring-Security在前后端分离项目中的实践

    前言 网上貌似webflux这一套的SpringSecurity操作资料貌似很少. 自己研究了一波,记录下来做一点备忘,如果能帮到也在迷惑的人一点点,就更好了. 新项目是前后端分离的项目,前台vue, ...

  4. sharedWorker 实现多页面通信

    是这样的,今天玩github,先是在没有登录浏览了一些页面,然后在某一页面进行了登录.这时再切换的其他页面时就看到了下面的提示: 那么这是怎么做到的呢?我们可以想到,一种办法是 localStorag ...

  5. Qt获取一张图片的平均色(主色调)

    这两天在一个小工具中想做一个图标的发光效果,用固定颜色做出来效果很丑,于是想到此方法,得到图标的主色调后,将颜色调亮,并设置为阴影颜色,从而达到类似发光的效果. 本文章主要在于得到一张图片的平均色,并 ...

  6. Nginx 负载均衡方案

    轮询 根据Nginx配置文件中的顺序,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除. upstream web { server server1; serve ...

  7. Windows中的权限设置、文件压缩、文件加密、磁盘配额和卷影副本

      目录 权限设置 文件夹的NTFS权限 文件的NTFS权限 NTFS权限的应用规则 文件压缩 文件加密 磁盘配额 卷影副本 权限设置的应用 遇到的一个权限问题的小bug 权限问题的实际应用 权限设置 ...

  8. 洛谷P1424 小鱼的航程(改进版)

    题目背景 原来的题目太简单,现改进让小鱼周末也休息,请已经做过重做该题. 题目描述 有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),假设从周x(1<=x&l ...

  9. ZOJ3715 竞选班长求最小花费

    题意:       有n个小朋友竞选班长,一号想当班长,每个人都必须选择一个人当班长,并且不可以选择自己,并且每个人都有一个权值ai,这个权值就是如果1想让这个人改变主意选择自己当班长就得给他ai个糖 ...

  10. 板载网卡MAC地址丢失后刷回方法[转]

    部份客户在进行误操作后发现网卡MAC地址全部变成0,大部客户不知道如何重新将MAC地址写回去.就此问题我们介绍一下,希望可以帮到大家.修改MAC地址时,一定要在纯DOS环境下修改.目前使用U盘DOS引 ...