| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> [强网杯2019]随便注(初学者看过来) -> 正文阅读 |
|
[大数据][强网杯2019]随便注(初学者看过来) |
这是一道web方向的sql注入的题目,通过借鉴各位大佬的博客,我给大家分享我学到的几种方法。 查询 “1” 的时候,会有回显 ?使用单引号闭合,尝试 “1' and 1 = 2#” (#会将后面的语句注释掉)? , 发现无回显 ?仅使用单引号注入发现会报sql语法错误,但是发现有回显信息,这样我们就可以使用注入了 ?第一种:extractvalue(报错注入) 在这里跟大家分享一下,报错注入的话有两种方法,一个是updatexml,另一个是extractvalue 注入的语法分别是? “updatexml(1, concat(0x7e,database(),0x7e),1)”???? 和?? “extractvalue(1,concat(0x7e,database())”????? (0x7e可以在mysql里被解读为符号"~",也可以直接用"~") (我只是举个例子,具体的诸如内容要根据实际情况判定,也可以在另外学习其用法mysql对xml提供支持的两个函数extractvalue updatexml_我多么希望明天有太阳,来灼烧我腐烂的梦想-CSDN博客https://blog.csdn.net/airuozhaoyang/article/details/47036923) 当我们直接尝试“ 1' and updatexml() ”时,会显示我们不能使用("/select|update|delete|drop|insert|where|\./i",$inject)这些语句来查询(为防止遗忘,我们可以讲这些记录在某个文档里) 于是我就采用了extractvalue
得到了数据库的名字“supersqli” ?“select被过滤了,如何绕过呢?” ????????handler语法:让我们一行一行浏览一个表的数据(mysql的专用语句,其他sql语言无)??????????? 可以在下面这个链接里学一下mysql查询语句-handler_jesseyoung-CSDN博客https://blog.csdn.net/JesseYoung/article/details/40785137例:
这样的话,我们就能进行下一步的题,这里我用的是“ show tables ”显示数据库里面数据表的名字。如果直接使用
查询,查询之后我们会得到如下结果,两个table 接下来我们要做的是什么呢?就是查看这些表里面的字段,于是我就尝试了
注意这里使用sql语句查询数据表时,要使用返单引号“ ` ”。这里我们就很高兴啊,得到了一个名字为“flag”的column; ?于是我直接用刚才提到的handler语句
?直接得出我们的flag ?第二种:rename 字段 第一种方法我们主要是用handler绕过了select的过滤。 跟刚才一样,我们还有一个数据表的名字叫“words”;于是
萌生一种大胆的想法,后端执行的语句为
?我们就可以把表“words”改名为其他的,而将“1919810931114514”改名为“words”,这样就能让那个后台直接从表“1919810931114514”里查询;于是乎
成功rename之后,我便可以直接只用单引号闭合的方法直接查取到flag
? 第三种方法:mysql的预处理与字符串拼接 先了解一下知识MySQL的SQL预处理(Prepared) - GeaoZhang - 博客园https://www.cnblogs.com/geaozhang/p/9891338.html还是前面的我们已经知道数据表“1919810931114514”里已经有了flag字段,为了绕过select我选择这样注入
就能得到flag 其实还有第四种方法可以绕过select;就是“table”语句,直接table + 表名MySQL8.0 新增 DML 语句(TABLE & VALUES) - 技术分享 - 新闻资讯 - 爱可生https://www.actionsky.com/2777.html但是在这道题里好像用不了,要求是MySQL8.0以上的版本。 以上就是给大家分享的全部内容了,主要是师从于大佬Y1ng,如果有什么问题希望可以与大家一起讨论,一起进步!! 颖奇L'Amore – WEB SECURITYhttps://www.gem-love.com/ ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 5:49:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |