基础知识之SQL注入原理

2022-10-11 21:43:52 131 0
魁首哥

0x0 SQL注入的介绍

以PHP为例子:


$query =”SELECT * FROM users WHERE id=$_GET[‘id’]”;


这里ID参数可控,非法用户可以仍以拼接SQL语句进行攻击。可以构造报错注入、盲注、union注入等方法。

0x01SQL注入原理

满足两个条件:

1、前端传入后端参数内容是用户可以进行控制。

2、参数传入数据库后可以进行执行。

例如:

select * from users where id =1 ‘

select * from users where id =1 and 1=1

因为1=1为真,where语句 id=1也为真,返回结果两个情况是一样的,当 and 1=2参数时候,返回为假的,出现页面错误。

现在SQL注入一般会拦截了and、=等关键字符的注入,注入要进行绕过。

0x02 Mysql 数据库注入相关知识点

5.0版本之后,MYSQL默认有“information_schema”数据库,记住三个表名SCHEMATA、TABLES、COLUMNS

SCHEMTA表

TABLES表

COLUMNS表

0x03MYSQL查询语句

select 字段名 FROM 库名.表名

select 字段名 FROM 库名.表名 where 已知条件字段名=‘已知条件值’

select 字段名 FROM 库名.表名 where 已知条件1字段名=‘已知条件1值’and 已知条件2值

=’已知条件2值’

limit的用法

格式:limit m,n, 其中m是指记录开始的位置,n是取多少个记录。

limit用法

记住几个常用函数:

database():当前网站使用的数据库。

version(): 当前Mysql版本。

user(): 当前Mysql的用户。

注释符:

#、–空格、/**/

内联注释:

/!**/


下次进行union的讲解。

收藏
分享
海报
0 条评论
131
上一篇:「Web安全」php://filter 的浅略底层分析 下一篇:10年前,我就用 SQL注入漏洞黑了学校网站

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码