《小迪安全》学习笔记05

news2025/1/17 21:41:30

目录

读取:

写入:


(其中的读取和写入时我认为比较重要的,所以单独做成了目录,这里的读取和写入是指在进行sql注入的时候与本地文件进行的交互)

好久没发博客了。。。从这篇开始的小迪安全学习笔记就开始进入到漏洞模块了,这篇主要是讲一些与sql注入相关的思想,杂谈一些内容吧先。。

区分两个东西:

SRC:发现漏洞接即可

实战:发现漏洞之后,要根据这个漏洞获取一些相应的权限,如后台权限,甚至是网站权限,最后是提权,获取敏感信息,提供修复建议等等。

高危漏洞:sql注入,upload,文件包含,未授权访问,命令执行

中危漏洞:反序列化,逻辑漏洞

低危漏洞:目录遍历,文件读取,XSS跨站

CTF中web题一般考sql注入,文件上传,反序列化,代码执行,最后渗透测试的关键在于信息收集,(手工加工具都同样重要)。

目录遍历漏洞:其中有些目录不用自己猜,是可以用工具扫到的,其次扫的时候要注意看有没有狗,有狗不能扫否则会把你IP拉黑,目录遍历中的一个小心眼:可以先读这个网站首页的index.php文件,其中可能会有其他目录所在位置信息。

漏洞都是需要一些其他的拿到的信息去配合的

区分:

目录遍历漏洞:只读取文件,文件夹名,只能但是不能读取到文件内容。

文件读取漏洞:单个文件读取,不能读取文件夹里面的内容。

SQL注入

接下来有四种(都有)可能存在注入漏洞的场景:

www.example.com/index.php?id=1

www.example.com/?id=1

www.example.com/index.php?id=1&x=1

www.example.com/index.php

第一个是最正常的,第二个是有些php开发的网站默认首页就是index.php,第三个是多个传参,哪个可以注入注入哪个,第四个是post传参。

一些小常识:

1.一些注入工具(sqlmap)除了指定注入点外,一般默认就是在最后面进行注入。所以在这种个情况下,可以自己把要注入的参数放到最后面:

(.php?a=1&b=2)这种其实是可以互换参数位置的,页面会正常返回,如:(.php?b=2&a=1)。

2.数据库中的点( . )代表下一级,比如 security.user就代表: security数据库下的user表

5.0以上高版本

5.0以下低版本

原来在sql注入中信息收集同样重要,主要收集:

  1. 数据库名字 select database();
  2. 数据库版本 select version();
  3. 数据库用户 select user();
  4. 操作系统 select @@version_compile_os;

select user()  查询用户

root@localhost是权限最高的用户。

那么出现漏洞的数据库(A网站)如果是root最高权限,那么就有可能对同一个数据库下的其他B网站,C网站进行跨库注入。

如果是普通用户的话,只能注入自己的网站数据库,如果是root用户,则可以跨库注入。

以sqli_labs靶场为例,一般的联合查询语句以及注意事项:

  1. select schema_name from information_schema.schemata
  2. select table_name from information_schema.tables where table_schema='security'
  3. select column_name from information_schema.tables where table_name ='users' (最好加上 and table_schema='security')
  4. select username,password from users

(最好写成 from security.users) 因为你在做题时,不一定就在security数据库下

#文件读写操作

读取:

load_file() 函数: 可以读取本地的文件(下图为读取C盘123文件夹下的1.txt)

注意:路径层级要用 / ,而不是 \

如果显示NULL,进行以下操作:

打开my.ini文件,在[mysqld]下面添加这行代码:

secure_file_priv=

然后重启mysql

写入:

into outfile函数

Into dumpfile函数

将ilwa写入2.txt文件中。

一般我们会用这些函数读取网站,服务器的敏感文件,配置信息,具体文件在网上找。也可以写入一句话木马,用蚁剑连接,直接获取网站权限。

获取网站目录/路径:

  1. 通过报错信息查看。
  2. 遗留文件 比如phpinfo.php 这里面出现了一些php配置的路径。

        3.平台配置文件

注意:文件读写操作可能会被过滤(幻术引号)

只需要把php的 magic_quotes_gpc改为 off状态就行。

magic_quotes_gpc如果为on状态的话,它会将单引号,双引号,反斜杠(\),null前面都无差别加一个 反斜杠 ”\“

类似函数还有:addslashes()

绕过方法有两种:1.编码(16进制编码 HEX) 或者 宽字节绕过

因为编码用不到单引号,而且可以正常查询,亲测有效↓

相关防御手段:

  1. 幻术引号函数
  2. 内置函数过滤

比如: is_int()

  1. 自定义过滤   比如过滤 or and select where
  2. WAF 过滤 WAF也是主要靠2,3的过滤方法进行过滤

WAF绕过方法有:

更改提交方法

大小写混合

解密编码类

注释符混用

等价函数替换

特殊符号混用

借助数据库特性

HTTP参数污染

垃圾数据溢出

欢迎各位佬批评指正!

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

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

相关文章

Jupyter notebook中运行dos指令运行方法

Jupyter notebook中运行dos指令运行方法 目录 Jupyter notebook中运行dos指令运行方法一、DOS(磁盘操作系统)指令介绍1.1 DOS介绍1.2 DOS指令1.2.1 DIR - 显示当前目录下的文件和子目录列表。1.2.2 CD 或 CHDIR - 改变当前目录1.2.3 使用 CD .. 可以返回上一级目录1…

excel 判断某个单元格的日期,如果超过3天,则在另一个单元格显示超过三天的公式

excel 判断某个单元格的日期&#xff0c;如果超过3天&#xff0c;则在另一个单元格显示超过三天的公式&#xff0c;公式如下&#xff1a; IF(DATEDIF(C627,TODAY(),"d")<4,"3天以内","超过三天") IF(D627"超过3天","文件赶紧…

内存与缓存:保姆级图文详解

文章目录 前言1、计算机存储设备1.1、硬盘、内存、缓存1.2、金字塔结构1.3、数据流通过程 2、数据结构内存效率3、数据结构缓存效率 前言 亲爱的家人们&#xff0c;创作很不容易&#xff0c;若对您有帮助的话&#xff0c;请点赞收藏加关注哦&#xff0c;您的关注是我持续创作的…

eBay账号安全攻略:巧妙应对风险

在跨境电商的浪潮中&#xff0c;eBay宛如一座璀璨的灯塔&#xff0c;照亮了无数买卖双方的交易之路。但别忘了&#xff0c;网络安全的阴霾也在悄然蔓延&#xff0c;让eBay账号时刻处于黑客攻击、数据泄露、钓鱼诈骗等风险的阴影之下。别担心&#xff0c;今天就来为你支支招&…

宝塔php7.4安装报错,无法安装,php8以上可以安装,以下的不行,gd库什么的都正常

宝塔的依赖问题导致的问题&#xff0c;最后手动挂载后才解决。。。废了三天三夜终于搞好了。。。。无语&#xff5e; 建议&#xff1a;不要一直升级宝塔版本&#xff0c;升级前备份或者开服务商的实例镜像&#xff0c;方便恢复&#xff0c;不然&#xff0c;可就GG了&#xff5…

【大数据】机器学习 -----关于data.csv数据集分析案例

打开表 import pandas as pd df2 pd.read_csv("data.csv",encoding"gbk") df2.head()查看数据属性&#xff08;列标题&#xff0c;表形状&#xff0c;类型&#xff0c;行标题&#xff0c;值&#xff09; print("列标题:",df2.columns)Data…

【数据可视化-12】数据分析岗位招聘分析

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

RabbitMQ故障全解析:消费、消息及日常报错处理与集群修复

文章目录 前言&#xff1a;1 消费慢2 消息丢失3 消息重复消费4 日常报错及解决4.1 报错“error in config file “/etc/rabbitmq/rabbitmq.config” (none): no ending found”4.2 生产者发送消息报错4.3 浏览器打开IP地址&#xff0c;无法访问 RabbitMQ&#xff08;白屏没有结…

网络安全——常用语及linux系统

一、网络安全概念及法规 网络安全&#xff1a;网络空间安全 cyber security 信息系统&#xff1a;由计算机硬件、网络和通信设备、计算机软件、信息资源、信息用户和规章制度组成的已处理信息流为目的的人机一体化系统 信息系统安全三要素&#xff08;CIA&#xff09; 保密…

00_专栏《Redis 7.x企业级开发实战教程》介绍

大家好,我是袁庭新。Redis作为一款高性能、多用途的内存数据库,凭借其丰富的数据结构、高速读写能力、原子操作特性及发布订阅等功能,在缓存加速、分布式锁、消息队列等场景中不可或缺,极大提升了系统性能与开发效率,是现代互联网应用架构的关键组件。 你是否在学习Redis…

深度学习中的卷积和反卷积(四)——卷积和反卷积的梯度

本系列已完结&#xff0c;全部文章地址为&#xff1a; 深度学习中的卷积和反卷积&#xff08;一&#xff09;——卷积的介绍 深度学习中的卷积和反卷积&#xff08;二&#xff09;——反卷积的介绍 深度学习中的卷积和反卷积&#xff08;三&#xff09;——卷积和反卷积的计算 …

SpringMVC Idea 搭建 部署war

1.创建 Idea项目 使用Maven模板 创建 webApp模板项目 2.导入依赖 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://ma…

ElasticSearch下

DSL查询 叶子查询&#xff1a;在特定字段里查询特定值&#xff0c;属于简单查询&#xff0c;很少单独使用复合查询&#xff1a;以逻辑方式组合多个叶子查询或更改叶子查询的行为方式 在查询后还可以对查询结果做处理&#xff1a; 排序&#xff1a;按照1个或多个字段做排序分页…

读取长文本,使用读取底表

文章目录 代码有原始数据内表作为主表连接STXL的示例获取物料分类获取物料分类的文本的宏读取分类 https://blog.csdn.net/DeveloperMrMeng/article/details/118354649 代码 "第三种&#xff1a;读取底表获取文本 DATA: LT_TLINE TYPE STANDARD TABLE OF TLINE. DATA: LS…

Ubuntu升级Linux内核教程

本文作者CVE-柠檬i: CVE-柠檬i-CSDN博客 本文使用的方法是dpkg安装&#xff0c;目前版本为5.4.0-204&#xff0c;要升级成5.8.5版本 下载 下载网站&#xff1a;https://kernel.ubuntu.com/mainline/ 在该网站下载deb包&#xff0c;选择自己想要升级的版本&#xff0c;这里是5…

JWT在线解密/解码 - 加菲工具

JWT在线解密/解码 首先进入加菲工具 选择 “JWT 在线解密/解码” https://www.orcc.online 或者直接进入JWT 在线解密/解码 https://www.orcc.online/tools/jwt 进入功能页面 使用 输入对应的jwt内容&#xff0c;点击解码按钮即可

如何查看特定版本的Spring源码

写在前面&#xff1a;大家好&#xff01;我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正&#xff0c;感谢大家的不吝赐教。我的唯一博客更新地址是&#xff1a;https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油&#xff0c;冲鸭&#x…

安全规约、脱敏规范、敏感逻辑的保护方案、防止 SQL 注入

文章目录 I 强制性安全规约对于文件上传功能,需要对于文件大小、类型进行严格检查和控制。平台资源的防重放机制URL 外部重定向传入的目标地址必须执行白名单过滤。表单、AJAX 提交必须执行 CSRF 安全验证。禁止向 HTML 页面输出未经安全过滤或未正确转义的用户数据。用户请求…

unity2022以上导出到AndroidStudio后更新步骤

1、unity里面Export出unityLibrary 2、导出apk&#xff0c;里面才包含libil2cpp(新版unity无法直接导出libil2cpp 3、注释AS项目app下的build.gradle里面包含unityLibrary的代码 4、注释AS项目settings.gradle包含unityLibrary的代码 5、删除AS项目里面的unityLibrary文件夹 6、…

LabVIEW串口通信调试与数据接收问题

在使用LabVIEW进行串口通信时&#xff0c;常常会遇到无法接收数据的情况。这可能与串口设置、连接、设备响应等多方面因素相关。本文将详细讨论如何使用LabVIEW进行串口通信&#xff0c;并提供常见问题的排查与解决方法&#xff0c;帮助用户更高效地进行数据接收调试。通过调整…