伪协议
文件包含漏洞-伪协议的学习
12文件包含函数包含的文件参数没有经过过滤或者严格的定义,并且参数可以被用户控制,就可能包含非预期的文件,如果文件中存在恶意代码,无论文件时什么样的后缀类型,文件内的恶意代码都会被解析执行,就导致了文件包含漏洞的产生。文件包含漏洞可能会造成服务器的网页篡改、网站挂马、远程控制服务器、安装后门等危害。
伪协议常用于文件包含泄露之中
在php种能够造成文件包含的函数有include、require、include_once、require_once、highlight_file、show_source、file_get_contents、fopen、file、readfile
include函数
可以防在PHP脚本的任意位置,一般放在流程的处理部分中。当PHP脚本执行到include指定引入的文件时,才将它包含并尝试执行。这种方式可以把程序执行时的流程进行简单化。当第二次遇到相同文件时,PHP还是会重新就是一次,include相对于require的执行效率下降很多,同时在引入文件中包含用户自定义函数时,PHP在解释过程中会发生函数重复定义问题。include ...
JWT
JWT
https://baobao555.tech/archives/40#1.什么是jwt
JWT结构
JWT由3部分组成:标头(Header)、有效载荷(Payload)、签名(Signature)。在传输的时候,会将JWT的3部分分别进行Base64编码后用.进行连接形成最终传输的字符串
1ewogICJhbGciOiAibm9uZSIsCiAgInR5cCI6ICJKV1QiCn0K.ewogICAgInN1YiI6ICIxMjM0NTY3ODkwIiwKICAgICJuYW1lIjogIkppbm11dSIsCiAgICAiYWRtaW4iOiB0cnVlCn0=.SE1BQ1NIQTI1NihiYXNlNjRVcmxFbmNvZGUoaGVhZGVyKSArICIuIiArIGJhc2U2NFVybEVuY29kZShwYXlsb2FkKSwgd2hvYW1pKQ==
Header
JWT头是一个描述JWT数据的JSON对象,alg属性表示签名使用的算法,默认为HMAC SHA256(写为HS256);typ属性表示令牌的类型,JWT令牌统一写为JWT。最后,使用Base ...
JAVA
JAVA
IDEA项目结构
project->module->package->class
JDK和JRE
注释和关键字
变量
数据类型
标识符
IDEA
shift+F6重命名
delete删除
算术运算符
赋值运算符
关系运算符
逻辑运算符
短路逻辑运算符
三元运算符
运算符优先级
原码
其他的运算符
左移变小,右移变大
流程控制语句
顺序结构
分支结构
if语句
switch语句格式
default的位置和省略
case穿透
switch新特性
jdk12之后
使用箭头的形式,简化
switch和if第三种格式各自的使用场景
循环结构
数组
1234567891011121314151617181920212223242526272829package com.itheima.dome1;import java.util.Random;public class Dome1 { public static void main(String[] args) { ...
java反序列化
序列化与反序列化
Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。
序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例。
为什么需要序列化与反序列化
我们知道,当两个进程进行远程通信时,可以互相发送各种类型的数据,包括文本,图片,视频,音频等,而这些数据都会以二进制序列的形式在网络上传输.那么当两个Java进程进行通信时,能否实现进程间的对象传送呢?
答案是可以的.如何做到呢?
这就需要序列化与反序列化了,换句话说,一方面,发送方需要把这个Java对象转换为字节序列,然后在网络上传送;另一方面,接收方需要从字节序列人中恢复出Java对象.
当我们明晰了为什么需要Java序列化和反序列化后,我们很自然地会想Java序列化的好处。其好处一是实现了数据的持久化,通过序列化可以把数据永久地保存到硬盘上(通常存放在文件里),二是,利用序列 ...
CS邮件钓鱼攻击
Cobalt_Strike_4.7邮件钓鱼攻击
选择马
这里我选用的是HTA文档
创建监听器
保存
文件托管
选择刚才生成的马文件
http://120.55.103.132:8002/download/file.ext
克隆网站
设置克隆网站的参数。
clone url:克隆网站的url地址
local host:CS服务器IP
local port:端口(随便设置)
attack:选择之前生成的payload
访问一下,这个已经复制成功的网站,可以看到会自动下载file.hta文件,也就是第1步的hta马
开启SMTP服务
如果是网易邮箱,SMTP Host:需要填写smtp.163.com
如果是QQ邮箱,SMTP Host:填写smtp.qq.com
以QQ邮箱为例:打开邮箱之后,找到设置=>账户,在账户的最下边有如下设置,选择开启SMTP服务。复制授权码到CS的邮箱配置。
12345smtp host:smtp.qq.com(qq邮箱),如果网易的话则是smtp.136.comsmtp port:使用SSL的话端口为465(但是我用587才成功 ...
DVWA-lab
DVWA-labs
暴力破解
low
无限制爆破\
万能密码
1admin'or'1'='1
medium
mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。
下列字符受影响:
1234567\x00\n\r\'"\x1a
如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。
但是仍然可以无限制爆破
high
抓包后发现token,利用token机制限制暴力破解,增加了爆破的难度
利用burpsuite中的“宏”(macro)机制来完成爆破
burpsuite抓包,发送到intruder,选中密码和Token,设置攻击模式
重定向设置为"总是"(总共4次对话,才完成登陆认证,所以需要重定向,如图)
在grep-extract中点击add,选择refetch response(获取回复)
复制Token值
爆破即可
Impossible
登陆失败3次后会被锁定15分钟
同时采用了更为安全的PDO(PHP Data Object)机制防御 ...
HNCTF
HNCTF
[Week1]Interesting_http
描述:Give me your want!
解题
众所周知我想要flag,那么就POST提交want=flag
使用BP抓包
发现Cookie,改为admin,发送到重读器
Not location
要通过XFF头进行IP伪造,在左边添加X-Forwarded-For:127.0.0.1
得到flag
还有一种做法:用firefox插件x-forwarded-for直接改造(这里没有火狐就不演示啦)
XFF字段
X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。通俗来说,就是浏览器访问网站的IP。一般格式:
X-Forwarded-For: client1, proxy1, proxy2, proxy3,如
X-Forwarded-For: 127, 0, 0, 1
[Week1]2048
描述:
你能达到20000分吗 获得的flag以NSSCTF{}格式提交
解题
F12
复制alert(String.fromCh ...
CS-渗透
CS-渗透
win10通杀漏洞(现在成虚拟机win10),
提权成功了,可以看到有个在powershell进程上线了
后渗透关闭防火墙开启远程连接
输入如下,成功关闭防火墙
1shell netsh advfirewall set allprofiles state off #off换成on则开启
关闭windows Defender和DEP数据执行保护
开启为net start windefend
1net stop windefend
关闭DEP(数据执行保护)
数据执行保护 (DEP) 有助于防止电脑遭受病毒和其他安全威胁的侵害。应用会留出一部分电脑内存用于暂存数据,同时留出另一部分内存用于暂存应用使用的指令。 黑客可能试图诱使应用运行(也称为执行)放置在电脑内存中伪装成指令的有害数据。 这可能会让黑客得以控制你的电脑。DEP 可以防止应用运行用于暂存指令的那部分内存中的数据,从而保护电脑。 如果 DEP 发现某个运行此类数据的应用,它将关闭该应用并通知你。与防病毒程序不同,硬件和软件实施 DEP 技术的目的并不是防止在计算机上安装有害程序。 而 ...
CS-命令篇
信息收集
工作组常用命令
systeminfo
查看系统信息包括补丁
whoami /all
查看特权信息
net user
查看用户信息但是看不到
wmic product get name,version
查看程序以及版本信息
tasklist
查看进程
netsh firewall show config
查看防火墙配置
dir %APPDATA%\Microsoft\Windows\Recent
最近使用的项目
域环境常用命令
net config workstation
查看域
主机杀软信息查询
wmic /node:localhost /namespace:\root\SecurityCenter2 path AntiVirusProduct Get DisplayName,productState,pathToSignedProductExe | findstr /V /B /C:displayName || echo No Antivirus installed
查看杀软
其实也可以用tasklist,然后到网站查询https://www.hackjie.com/avs ...
Crypto理论知识
定理
费马小定理
费马小定理是数论中的一个重要定理,在1636年提出.
在学之前先了解一下
剩余类:,亦称同余类,是一种数学的用语,为数论的基本概念之一.设模为n,则根据余数可将所有的整数分为n类,把所有与整数a模n同余的整数构成的集合叫做模n的一个剩余类,记作[a]。并把a叫作剩余类[a]的一个代表元。
完全剩余系:从每个剩余系中各取一个数,得到一个由n个数组成的集合,叫做模n的一个完全剩余系。完全剩余系常用于数论中存在性证明。
同余式:a和b被m除时有相同的余数。 同余式的性质
如果p是一个质数,而整数a不是p的倍数,则
a^(p-1)≡1 mod (p)
两边同乘 a,得:
a^p≡a mod (p)
当然这是a<p的情况
推导
引理1
若a,b,c为任意三个整数,m为正整数,且(m,c)=1,则
当a*c≡b*c mod (m)时
有a≡b mod (m)
证明
a*b=b*c mod (m)可得:
ac-bc≡0 mod (m)可得:
c*(a-b) ≡ 0 mod (m)
**因为(m,c)=1即m,c互质,**c可以约去,
a-b ≡ 0 mod (m)可得:
a≡ ...