sql注入文章阅读笔记(一)

来源:互联网 发布:逆波兰式 java 编辑:程序博客网 时间:2024/05/16 09:57

原文在此:A Classification of SQL Injection Attacks and Countermeasures

第一段主要是概述。说了了解sql注入的重要性。以及接下来会介绍各种sql注入方法和例子。

1 引言:

    永远不要相信用户的输入。解决方法:加密用户输入和验证。

2  sqlias 背景

   2.1 注入机制

        1、通过用户输入注入。

2、通过cookie注入。

3、通过服务器变量注入。web网站中的变量不经过处理(原文单词:sanitization)直接存储在数据库中,这可以创建一个sql注入漏洞。例如:记录使用情况和浏览器类型(原文单词:logging usage statistics and identifying browsing trends),如果这些数据没有经过处理直接放入数据库,攻击者可以将sqlia伪造在HTTP和网络报文头中,然后放入数据库。

4、二次注入。攻击者在系统或者数据库中种下恶意输入,触发一个sqlia。稍后,利用漏洞 输入数据。例子如下:(漂亮啊 !生平第一次接触sql注入漏洞语句啊)

一个用户在网站上注册的用户名为:“admin'  --” , 而程序在放入数据库之前没有对单引号做处理,防止可能发生的恶意注入。这样,当用户修改自己的密码时。程序语句如:

queryString="UPDATE users SET password=’" + newPassword + "’ WHERE userName=’" + userName + "’ AND password=’" + oldPassword + "’"   

而当此用户修改密码时,语句如下:

 UPDATE users SET password=’newpwd’ WHERE userName= ’admin’--’ AND password=’oldpwd’

    而 “--”是sql 命令操作符。在其之后的所有东西都将被数据库丢弃。因此,数据库的超级管理员(admin)密码就被黑客修改了。

  2.2、攻击意图

1、确定注入参数。攻击者想探测某个网站来发现某个用户输入的处理比较弱,容易被注入。

2、Performing database finger-printing(不知道怎么翻译)。攻击者想确定网站的数据库的类型和版本。(电脑没电了,明天接着当英语的搬运工吧。晚安,coders!)

z..Z..Z


0 0
原创粉丝点击