0x00前言
这段时间把sqli-labs的第一部分做完了 今天写篇文章 来把学到的归纳总结一下 也顺便整理一下自己的思路 然后有些简单的或者我以前说过的 我会简略的说一下思路 主要说的是后面几题
0x01正文
前几题都大同小异 一起说了 通过添加 ' " ")这些 然后根据报错来判断sql语句的闭合结构 然后使用order by判断出有几个关键词 然后通过?id=-1' union select 1,2,3 来 判断回显点 等等 前四题个人感觉 难度不大有些基础的都可以完成
less5 网上很多人用的都是盲注 但是这里使用报错注入比较快捷 由于count(*) floor() rand() 这些函数结合在一起会产生报错 而且rand(0)呈现出来的数字又有规律性 利用主键的唯一性 让虚拟表中的主键重复 从而产生报错 这个我写过报错注入的文章 如果不清楚的可以看我之前的文章 里面有详细的讲解
less 7 利用 dump into file 将一句话木马上传上去 然后利用中国菜刀或者是蚁剑来进行连接 就可以了 同样的 关于中国 菜刀的原理的文章 我也写过相应的文章不清楚的可以去看一下
less 8,9,10 都是盲注 正常的是 利用 ascii 进行拆解 布尔型的话 如果对的则会显示正确的页面 时间盲注的话如果正确则有时间延迟 利用 sleep函数 但是拆解真的是耗时又耗力 相比之下 基于dns的就很好的解决了问题 这个我也有详细写过 文章介绍
从less11开始就都是post请求的sql注入了 这里可以用hackbar burp 这类的工具来帮助你
前面几题和一开始的一样无非是把写在url中的 变成了post请求
less 17会开始讲的详细很多 毕竟之前 也没有写过对应的文章
less17 这题我用到的是updatexml报错注入 由于updatexml(xxx,xxx,xxx)第二个一定要xpath 所以我们输入的不是xpath格式就会报错 利用报错把答案带出来
less18 根据标题 或者 源代码可以得到 是基于user agent 的 输入admin 之后会回想user agent 然后像上题那样
源代码来进行分析
后面的几题都是类似的 无非就是在 cookie和referer中
最后的稍微有些区别 题目对 uname进行了 base64编码 所以我们要把我们的payload进行编码
然后就可以报出我们想要的东西 了