越权漏洞
越权VS提权 提权:使用技术手段将你从低权限用户提高到高权限(指的是计算机权限 用户权限->管理员权限)。
越权:低权限用户,可以进行平级操作,甚至高权限操作。
概念 是一种常见的逻辑安全漏洞。由于服务端对客户端提出的数据操作请求过于信任,忽略了对该用户操作权限的判定,导致可以修改相关参数可以拥有了其他账号的增删查改功能,从而造成越权漏洞。
越权可分为水平越权和垂直越权。
水平越权指相同用户不同用户可以相互访问垂直越权指低权限用户可以访问高权限用户
常见漏洞1.通过修改GET传参来越权
2.修改POST表单来越权
3。修改cookie来越权
CouchDB 权限绕过写在前面该漏洞较为特殊,若想极速获取flag,建议直接下拉到EXP,一键梭
漏洞原理Apache CouchDB是一个开源数据库,专注于易用性和成为”完全拥抱web的数据库”。它是一个使用JSON作为存储格式,JavaScript作为查询语言,MapReduce和HTTP作为API的NoSQL数据库。
导致漏洞的原因是Erlang和JavaScript,对JSON解析方式的 ...
验证码与密码找回漏洞
验证码漏洞验证码是什么?
验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。
同时验证码还可以用于区分用户身份(手机验证码、邮箱验证码等)
验证码的作用?
可以防止恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。
这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。
验证码五花八门,有中文字,纯数字,点击字符、数学运算、滑动方块……
验证码机制原理
->客户端发起请求,
->服务端响应并创建一个新的SessionID同时生成随机验证码,
->服务端将验证码和Sess ...
SSRF基础
1 SSRF是什么? SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。
1.1 URI VS URL 在web中每次请求的目标叫一个资源,可以有照片、视频等。
URI:在文本中都有一个统一标识符确定,这个标识符称为统一资源标识符,是一组字符串。
URL:最常用的uri形式,统一资源定位符,也叫web地址。
1.2 URI结构 uri就类似一个独一无二的身份标识。
准确的说是某个网络资源的特有标识(用来区别于其他资源的独一无二的标识)具体什么样的叫做uri呢?我就直接给个java所举的uri的例子:
(First line of HTTP request )HTTP请求的第一行
uri
POST /some/path.html HTTP/1.1
/some/path.html
GET http://foo.bar/a.html HTTP/1.0
/a.html
HEAD /xyz?a=b HTTP/1.1
/xyz
...
kali Maltego
1.概念 重点是分析通过互联网访问的数据之间的真实世界关系,其中包括足迹互联网基础设施和收集有关拥有该网络的人员和组织的数据。通过使用OSINT(开源情报)技术,通过询问whois记录,社交网络,DNS记录,不同的在线API,提取元数据和搜索引擎来搜索这些数据之间的连接。该工具将提供广泛的图形布局,允许对数据进行聚类,使关系准确和即时。
2.挖掘子域名子域名是某个主域的二级域名或多级域名,在防御措施严密情况下无法直接拿下主域,那么就可以采用迂回战术拿下子域名,然后无限靠近主域。
挖掘子域名的方式
子域名挖掘工具:Maltego、子域名挖掘机
搜索引擎挖掘
第三方网站查询
证书透明度公开日志枚举
其他途径
scapy的使用
用法ARP函数ARP().display()来查看ARP函数用法。
用法:
[ ARP ]hwtype= 0x1 硬件类型ptype= 0x800 协议类型hwlen= 6 硬件地址长度plen= 4 协议地址长度op= who-has who-has查询hwsrc= 00:0c:29:6a 源MAC地址psrc= 192.168.1.53 源IP地址hwdst=00:00:00:00:00:00 目标MAC地址pdst=0.0.0.0 向谁发送请求
IP/ICMP的方式使用IP().display()来查看格式
[ IP ]version=4 版本:4ihl= None 首部长度tos= 0x0 服务len= None 总长度id= 1 标志flags=frag= 0ttl=64 生存时间proto= hopopt 传输控制协议 IPV6逐跳选项chksum ...
算法与算法复杂度
[toc]
算法概念为了定义某问题,必须给出一系列的运算规则,这一系列的运算规则是有限的,表达了求解问题方法和步骤,这就是算法。
一个算法可以用自然语言描述,也可以用高级程序设计语言描述,也可以用伪代码描述。本书采用C语言对算法进行描述。
基本特征有穷性,算法的执行必须在有限步内结束。
确定型,算法的每一步骤必须确定无二义性的。
输入,算法可以有0个或多个输入。
输出,算法一定有输出结果。
可行性:算法中的运算必须是可以实现的
算法复杂性概念一个算法的优劣主要从算法的执行时间和所需要占用的储存空间两个方面衡量。
对于算法的时间复杂性,采用算法执行过程中其基本操作的执行次数,称为计算量来度量
算法中基本操作的执行时间和所需要占用的存储空间两个方面衡量
对于算法中的时间复杂度,采用算法执行过程中其基本操作的执行次数,称为计算量来度量
算法中基本操作的执行次数一般是与问题规则有关的,对于结点个数为n的数据处理问题,用T(n)来表示算法基本操作的执行次数。
因素
输入数据项数目
输入数据分布
实现算法
使用数据结构
评价(1)合理选择一个或几个操作作为“标准操作”。
(2)计算量=给 ...
常见密码的识别
前言 每个算法都有其对应的特征,对于一些较小的网站,往往直接引用这些官方算法,没有进行魔改等其他操作,这种情况下,如果我们能熟悉常见算法的特征,通过密文就能猜测出使用的哪种算法、编码、混淆,将会大大提高工作效率!在 CTF 中通常也会有密码类的题目,掌握一些常见密文特征也是 CTFer 们必备的技能!
本文将介绍以下编码和加密算法的特征:
编码:Base 系列、Unicode、Escape、URL、Hex;
算法:MD5、SHA 系列、HMAC 系列、RSA、AES、DES、3DES、RC4、Rabbit、SM 系列;
混淆:Obfuscator、JJEncode、AAEncode、JSFuck、Jother、Brainfuck、Ook!、Trivial brainfuck substitution;
其他:恺撒密码、栅栏密码、猪圈密码、摩斯密码、培根密码、维吉尼亚密码、与佛论禅、当铺密码。
编码系列Base 系列编码
Base64 是我们最常见的编码,除此之外,其实还有 Base16、Base32、Base58、Base85、Base100 等,他们之间最明显的区别就是使用了不 ...
非对称加密原理
非对称加密核心概念和工作原理:非对称加密也称为公钥密码。
非对称加密需要两对密钥。通信双方各自准备一对公钥和私钥。其中公钥是公开的,由信息接受方提供给信息发送方。公钥用来对信息加密。私钥由信息接受方保留,用来解密。
数学基础非对称加密算法通常基于数学难题,例如大数分解(RSA)或椭圆曲线离散对数问题(ECC)。这些难题使得在已知公钥的情况下计算私钥非常困难。
特点主要优势
密钥分发更安全: 无需安全通道即可交换公钥。
数字签名: 可以使用私钥对消息进行数字签名,以验证消息的发送者和完整性。
身份验证: 可以使用公钥验证用户的身份。
主要劣势:
加密速度较慢: 相比对称加密,非对称加密的计算量更大,速度较慢。
密钥管理更复杂: 需要安全地生成、存储和管理密钥对。
pymysql操作
一、查询操作1.导入pymysql1import pymysql
2.创建连接对象调用pymysql模块中的connect()函数来创建连接对象,代码如下:
1conn=connect(host,port,user,password,database,charset)
host:连接的mysql主机
port:连接的mysql端口
user:连接的用户名
password:连接的密码
database:连接的数据库
charset:采用的编码方式,推荐utf-8
连接对象说明
关闭连接 conn.close()
提交数据 conn.commit()
撤销数据 conn.rollback()
3.获取游标对象获取游标对象的目的就是执行SQL语句,完成对数据库中的增、删、改、查操作。代码如下:
1cur = conn.cursor()
游标操作说明
使用游标执行SQL语句:execute(opertion [parameters])执行SQL语句,返回受影响的行数,主要用于执行insert、update、delect、select等语句。
获取查询结果集中的一条数据:cur.fe ...
mysql数据清洗
数据库清洗1.流程
确认数据是否拷贝
原始数据是否具有唯一ID
清洗数据中的错误值(填写错误、逻辑错误)
清洗数据中异常值
清洗数据中的缺失值
2.字段选择 通常在采集到的原始数据中,将姓名或其他字符串的字段不选入最后分析的数据库中
在实际项目中,如果客户有历史记录,应提取越多字段的数据越好
另外,还需处理数据整合的问题,如数据单位不一致、数据重复等
字段数据重复:单个字段数据重复、多个字段数据重复
3.主要工作噪声消除噪声包括错误值(以类别字段为主)和异常值(针对连续变量)
噪声会使后期分析结果产生很大偏差,必须对噪声进行有效识别和处理
缺失值处理人工处理
软件自动处理
4.错误值及异常值处理方法软件及人工结合的方法
错误值:
无论分类变量还是连续变量,均先检查数据的分布情况,找到错误值。对于分类变量,检查与其它值是否有相似之处,若无,直接处理为空值/未知
异常值:
判断标准:1)最小最大分布法,按从小到大排序,选取最小的5%和最大的95%数据作为异常值;
2)标准分法:平均值+-3个标准差
...







