29、WEB攻防——通用漏洞&SQL注入&增删改查&盲注&延迟&布尔&报错

文章目录

盲注

概念:在注入过程中,获取的数据不能回显至前端页面,此时我们需要利用一些方法进行判断或尝试,这个过程被称为盲注。

解决:常规的联合查询注入不行的情况。

分类:

  • 基于布尔的SQL盲注,逻辑判断。
    /blog/news.php?id=1 and if(1=1,sleep(5),0)
  • 基于时间的SQL盲注,延时判断。
    /blog/news.php?id=1 and length(database())=7
  • 基于报错的SQL盲注,报错回显。
    /blog/news.php?id=1 and lupdatexml(1,concat(0x7e,(select @@version),0x7e),1)
    后端写了die (mysql_error())才会报错。12种报错注入+万能语句

常规的联合查询注入,因为页面有回显,所以可以通过回显来判断SQL语句执行成功了。若没有回显,则只能通过盲注来判断SQL语句是否执行成功(报错、时间、布尔)。

增删改查

  1. 查询方式增删改查四种特性决定,部分不需要进行数据取出和显示,所以此类注入基本上需要采用盲注才能得到结果;(黑盒测试可以根据功能判断注入查询方式)
  2. 查询方式增删改查四种特性决定应用功能点(会员注册、删除新闻、修改文章等)。

假如执行SQL语句的代码在flag.php,而index.php调用了flag.php这一文件,最好通过flag.php进行SQL语句注入,而不是直接构造数据发送给flag.php。

如何判断宽字节注入:报错显示单引号被过滤,可以考虑宽字节注入。

相关推荐
有想法的py工程师22 分钟前
PostgreSQL 查询库中所有表占用磁盘大小、表大小
数据库·postgresql
R_AirMan2 小时前
深入浅出Redis:一文掌握Redis底层数据结构与实现原理
java·数据结构·数据库·redis
Hello.Reader2 小时前
RedisJSON 内存占用剖析与调优
数据库·redis·缓存
木木子99993 小时前
SQL138 连续两次作答试卷的最大时间窗
sql·题解记录
wkj0013 小时前
php 如何通过mysqli操作数据库?
android·数据库·php
抛砖者3 小时前
hive/spark sql中unix_timestamp 函数的坑以及时间戳相关的转换
hive·sql·spark
九皇叔叔5 小时前
【9】PostgreSQL 之 vacuum 死元组清理
数据库·postgresql
风雅的远行者5 小时前
mysql互为主从失效,重新同步
数据库·mysql
宇钶宇夕6 小时前
S7-1200 系列 PLC 中 SCL 语言的 PEEK 和 POKE 指令使用详解
运维·服务器·数据库·程序人生·自动化
绿蚁新亭6 小时前
Spring的事务控制——学习历程
数据库·学习·spring