mysql基础打牢牢

这里记录一些常用的sql利用姿势,不一定全,但是学下来肯定有会有一个比较系统的sql思想

寻找sql注入点

对于sql注入而言,寻找注入点就是寻找到可以传入的参数,不一定是输入框,但是现实中大多数是输入框。而且最重要的,是可以操作数据库的参数传递,比如查什么什么东西,修改什么什么东西,理论上讲,凡是和数据库有连接的都可能存在sql注入.

测试注入

寻找到了注入点,我们需要进行测试,我们想利用sql注入去完成渗透,就必须知道是否这里是有sql注入漏洞的。通过一些常用的测试,大多数都可以发现,自己是不是细狗

这里是一些常见的判断注入类型的字符,字符型数字型和登录型(最后一个我编的),怎么理解呢?你可以尝试把这些字符代入到这些sql语句中

注释符

这里就没有什么好解释的

版本&主机名&用户&库名


这些东西好好记牢,都是常用的函数

表和字段

数据库是什么,就是一个大年级,表就是其中的班级,字段就是班级中的特征点,比如有什么什么组(例子想不出来了)

order by 是什么捏

就是用于判断表中的字段个数

这个图就很形象了,可是,but,你真的懂原理吗?
order by在sql是干嘛的捏?答案是排序,那他凭什么判断字段有几个呢,就是你给了一个查询是真,他比如
select username,password from db where user='Dr0se'这个是真,他返回的是什么,是Dr0se对应的username和password,这是两个字段,然后,你后面接了order by,就是给输出的结果进行排序,order by 1,就是根据第一个字段进行排序,order by 2,就根据第二个字段,注意这里是按输出的,他输出了有三个字段吗,没有!但是这意味着这个表里面没有三个字段吗,不能,可能是我的select没有要,但是这个没有问题,我们一般用order by就是为了那个回显位,就是需要哪里可以给我们注入。

这里还有一个我自己都不知道的一个判断字段数的方法
SELECT … INTO(加粗好吧)

这个的原理也很好理解,他的意思是把一行拷贝过去,然后后面的@是参数,几个代表几个字段,你相同数量不才插的进去。

判断已经知道表名的字段数

这里你可能会说我们前面不是已经用order by查过字段数了吗?小可爱可以回去看看哦。

查表名

以下提过几种方式对库中表进行查询

查列名

以下提过几种方式对表中列进行查询

字符串连接

下面的几条语句都可以用以连接字符!

条件语句&时间函数

其中BENCHMARK函数是指执行某函数的次数,次数多时能够达到与sleep函数相同的效果

文件注入,外带通道注入,DNS注入,SMB注入,见以后发布的文章,这里不做研究

这篇都是基础知识,解释的较浅的,比如时间布尔等等,后面都会详细解释

posted @ 2023-03-30 01:48  Dr0se  阅读(2)  评论(0)    收藏  举报