0x04-SQL注入-盲注

目录

今日目标

Christmas Special. 正式进入 4 星俱乐部 😄

在这里插入图片描述

可以学到什么?

SQL 盲注

本篇的主题,是 SQL 盲注。先了解一下 SQL 盲注是什么,再学习如何进行模糊测试,最后获取到想要的数据。

什么是 SQL 盲注?

这个系列的前几篇,如果大家还记得的话,在我们构造 SQL 表达式去试探服务端的时候,服务端会直接将 SQL 数据库的错误返回给我们。我们可以清楚地看到后端使用的是什么数据库,我们构造的 SQL 语句哪里有问题,是语法有误?还是 UNION 的时候列数不对。

在这里插入图片描述

SQL 盲注,相反的就是服务端的错误处理是统一的页面,诸如最简单的,只给我们返回一个 500 Internal Server Error,无从知道后端数据库的任何信息。这样的情况下,做 SQL 注入仍然是可行的,只是困难一些。我们必须要构造一些 true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
收到数据后,可以先将数据进行转义,然后再将转义后的数据保存为 jpg 格式的图片,可以参考以下示例代码实现: ```java import java.io.*; public class DataHandler { public static void main(String[] args) { // 接收到的数据 byte[] receivedData = new byte[]{0x7D, 0x01, 0x7D, 0x02, 0x7D, 0x03, 0x7D, 0x04, 0x7D, 0x05}; // 转义数据 byte[] escapedData = escapeData(receivedData); // 保存为 jpg 格式的图片 saveJpgFile(escapedData); } // 转义数据 private static byte[] escapeData(byte[] data) { ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); for (byte b : data) { switch (b) { case 0x7D: outputStream.write(0x7D); outputStream.write(0x01); break; case 0x02: outputStream.write(0x5B); break; case 0x03: outputStream.write(0x5D); break; case 0x04: outputStream.write(0x2C); break; case 0x05: outputStream.write(0x2A); break; default: outputStream.write(b); break; } } return outputStream.toByteArray(); } // 保存为 jpg 格式的图片 private static void saveJpgFile(byte[] data) { FileOutputStream fileOutputStream = null; try { fileOutputStream = new FileOutputStream("image.jpg"); fileOutputStream.write(data); } catch (IOException e) { e.printStackTrace(); } finally { if (fileOutputStream != null) { try { fileOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } } ``` 在这个示例代码中,我们使用了 ByteArrayOutputStream 和 FileOutputStream 类分别进行数据转义和保存图片。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值