- 博客(58)
- 收藏
- 关注
原创 命令执行RCE及其绕过详细总结(各情景下的绕过)
scandir() :将返回当前目录中的所有文件和目录的列表。返回的结果是一个数组,其中包含当前目录下的所有文件和目录名称(glob()可替换)localeconv() :返回一包含本地数字及货币格式信息的数组。(但是这里数组第一项就是‘.’,这个.的用处很大)current() :返回数组中的单元,默认取第一个值。pos()和current()是同一个东西getcwd() :取得当前工作目录dirname():函数返回路径中的目录部分。
2023-12-12 00:03:57 7849 3
原创 SSTI模板注入详细总结及WAF绕过
模板引擎是用于Web开发的工具,其作用是将用户界面和业务数据分离。通过模板引擎,我们可以根据特定的格式要求生成文档。使用模板引擎,我们只需要提供用户数据,然后将数据传递给渲染函数,模板引擎会根据提供的数据生成对应的前端HTML页面,最终呈现在用户的浏览器中。
2023-11-15 23:46:36 2660
原创 无参数RCE绕过的详细总结(六种方法)
scandir() :将返回当前目录中的所有文件和目录的列表。返回的结果是一个数组,其中包含当前目录下的所有文件和目录名称(glob()可替换)localeconv() :返回一包含本地数字及货币格式信息的数组。(但是这里数组第一项就是‘.’,这个.的用处很大)current() :返回数组中的单元,默认取第一个值。pos()和current()是同一个东西getcwd() :取得当前工作目录dirname():函数返回路径中的目录部分。
2023-10-26 23:52:39 3878 6
原创 新手src怎么挖到第一个漏洞(主观意识极强
仅对于新手,而且有很强的主观看法(?这些话都是我很想对最开始的自己说的,可能有些东西还是不妥,以后厉害了再回来修改)不用有畏难情绪,挖洞和学某些学科,打游戏没什么不同,先建立起自己的框架然后慢慢填充细节一定能挖到,很多人说的直觉修改哪里这些直觉也是慢慢挖出来的,不是一开始就有的。等你积累到一定的地步也一样可以(断言。
2024-05-07 17:01:35 486
原创 四大webshell流量特征(蚁剑冰蝎菜刀哥斯拉)
一样的密钥交换方式,哥斯拉建立连接时会发起三次请求,第一次请求数据超级长,建立。和当前会话绑定,不同的客户端的密钥也是不同的。少了动态密钥的获取的请求,不再使用随机生成。一次请求为判断是否可以建立连接,少了俩次。编码,其流量中也存在和蚁剑一样的代码。,连接时会请求两次,其请求体只是经过。获取冰蝎动态密钥的行为,第二次发送。第二次请求,会把主机目录列出来。等代码执行,获取网站的信息。,接下来去获取主机的信息。第一次请求,关闭报错和。,第二三次请求确认连接。特征就是传输参数名为。第二次请求是为了获取。
2024-03-20 23:42:13 818
原创 蓝队面试场景题,面试经验小记
不知道的话统一说先隔离开,上杀毒软件,然后查可疑用户(隐藏,影子),查日志,查进程,临时目录,查告警最近上传的文件,上报高级人员,反正给出方法别愣住。3、如果问,为什么pid看不到,基本上都是top命令,或者ps命令啥也没有,这一块儿的定位直接查看网络连接netstat -ano |grep -基本上能检索到被隐藏的pid,无论是扫描器还是c2,基本的网络通信还是存在,直接从网络排查。关于服务,正常情况下是不会做任何的进程隐藏的,在攻防场景下,直接取消挂载,终止进程然后删除文件就完事儿。
2024-03-20 23:15:22 354 1
原创 [BJDCTF2020]ZJCTF,不过如此
代码要求我们有两个get参数,首先,代码会检查是否设置了text参数,并且通过函数读取指定文件的内容。如果读取到的文件内容等于"I have a dream",则会将这个内容显示在页面上。接下来,代码检查是否设置了file参数,并且使用include()函数包含这个文件。然而,在包含文件之前,代码进行了一些安全性检查。它使用函数判断$file中是否包含"flag"字符串,如果包含则输出错误信息并终止脚本执行。如果以上条件都满足,那么就会包含指定的文件($file根据提示的next.php,我们去访问它。
2024-01-11 16:55:01 1178
原创 BUUCTF刷题记录
首先,它从GET请求中获取名为"host"的参数,并将其赋值给变量$host。接下来,代码使用函数对$host进行转义,以防止命令注入攻击。这个函数会在字符串的开头和结尾添加单引号,会将其中的单引号字符'加一个转义符,再加上一对单引号进行链接单,转义为'\''。然后,代码使用函数对host进行更严格的过滤。这个函数会删除字符串中的一些特殊字符,包括`\0`、`\n`、`\r`、`\t`、`\`、`;`、`|`、`&`和``,防止恶意用户利用这些特殊字符执行任意的Shell命令。
2024-01-11 14:38:57 1092
原创 双向冒泡排序的数据结构实验报告
冒泡排序是交换排序中一种简单的排序方法。其基本思想是对所有相邻的关键字值进行比效,如果是逆顺(a[j]>a[j+1]),则将其交换,最终达到排序的目的。双向冒泡排序算法是对传统冒泡排序算法的一种改进,通过同时从左到右和从右到左两个方向进行比较和交换,减少了排序的轮数。在开始编写代码之前,我首先对双向冒泡排序算法的原理进行了深入的学习和理解。这包括了如何确定左右边界、两个方向的比较和交换操作等。
2024-01-10 19:41:24 961
原创 [De1ctf 2019]SSRF Me(哈希拓展攻击)
在secret_key + param + action里,已知secert_key = os.urandom(16)(长度16),已知明文flag.txt(param)和scan(action),我们需要添加read。把flag.txt算进秘钥长度里,则秘钥长度为16+8,已知明文为scan,已知hash为8370a8f86a7a74b4053d1bc554a9d126,拓展明文为read,启动刚刚的脚本依次填入得到新明文和新hash,
2024-01-08 18:58:39 1857
原创 查找的数据结构实验报告(哈希表)
使用哈希函数:H(K)=3K MOD 11并采用链地址法处理冲突。试对关键字(22,41,53,46,30,13,01,序列67)构造哈希表,设计构造哈希表的完整算法去。学习了哈希表的基本原理和实现方法。通过使用哈希函数将关键字映射到固定位置上,并采用链地址法解决冲突问题,哈希表可以实现高效的数据插入和查找操作。
2024-01-07 11:27:07 1348
原创 二分查找的数据结构实验报告
通过进行二分查找的数据结构实验,我深刻理解了二分查找算法的原理和实现方法。这种算法利用了数组已经有序的特点,在每次比较后可以将查找范围缩小一半,从而提高查找效率。
2024-01-06 18:50:00 567
原创 冒泡排序数据结构实验报告
冒泡排序是交换排序中一种简单的排序方法。其基本思想是对所有相邻的关键字值进行比效,如果是逆顺(a[j]>a[j+1]),则将其交换,最终达到排序的目的。双向冒泡排序算法是对传统冒泡排序算法的一种改进,通过同时从左到右和从右到左两个方向进行比较和交换,减少了排序的轮数。在开始编写代码之前,我首先对双向冒泡排序算法的原理进行了深入的学习和理解。这包括了如何确定左右边界、两个方向的比较和交换操作等。
2024-01-06 18:46:41 1039 1
原创 队列的数据结构实验报告
在进行队列数据结构实验的过程中,我对队列的概念和特点有了更深入的理解。队列是一种先进先出的数据结构,类似于排队等待服务的场景。队列的实现可以使用数组或链表,具体选择取决于实际需求。队列在实际应用中有广泛的用途,适用于需要按照先后顺序处理任务或数据的场景。通过实验,我深刻体会到了队列的优点和局限性。队列的入队和出队操作具有常数时间复杂度 O(1),因此在处理大量数据时表现出良好的性能。但是,队列的随机访问受限,只能从队首或队尾进行操作。
2024-01-05 18:03:27 1626
原创 栈的数据结构实验报告
实验内容(实验题目与说明)利用栈实现数据的分类,将输入的整数以奇偶为标准分别存放到两个栈中,并最终从栈1和栈2输出偶数和奇数序列。算法设计(核心代码或全部代码)使用栈时,可能会遇到栈溢出或栈下溢的问题。栈溢出指尝试将数据推入一个已满的栈时发生的错误。为了避免栈溢出,在推入和弹出元素之前先检查栈是否已满。栈下溢则是指尝试从一个空栈中弹出数据时发生的错误。为了避免栈下溢,需要在弹出元素之前检查栈是否为空。另外需要确保正确地操作栈顶指针和数据存放顺序
2024-01-05 14:07:49 1116
原创 [ASIS 2019]Unicorn shop
由于 Unicode 是一种字符集,它可以表示世界上几乎所有的书写系统中的字符,因此 Unicode 编码中的 50000 可以被解释为一个字符,并且该字符并不受到 ASCII 编码字符的限制。传入UTF-8编码,在后端处理的过程中,发现该UTF-8编码无法解析为ASCII码,然后会将其解析为Unicode编码,而Unicode中的这个字符表示的值为罗马数字5000,且为一个字符,于是就绕过了一个字符的限制,数字大小也大于1337,于是成功购买,得到flag。通过这个网站寻找大于1337的字符。
2024-01-03 22:29:06 436
原创 哈希拓展攻击CTF题做法
kali下载相关工具hash-ext-attack:hash拓展题目特征:2023楚慧杯upload_shell实验吧之让我进去:前言:具体怎么加密解密补位的原理我不懂,深入理解的部分我在文末挂了链接,以下也只是我做题的结论和通解,可能不准确(但是做题还挺准确),有错误欢迎指出:是在密码加密过程中引入的一个随机值,它与密码结合使用,目的是增加密码的复杂性和安全性。在密码加密中,常见的做法是将用户提供的密码进行哈希处理,然后存储哈希值而不是明文密码
2023-12-24 02:04:14 1868
原创 DC-9靶机
端口敲门规则的好处在于隐藏了服务器的实际开放端口,只有知道正确的敲门序列的客户端才能访问服务器,/etc/knockd.conf 文件是 Knockd 服务的配置文件,它用于指定 Knockd 敲门规则,Knockd 是一种端口伪装技术,可以通过在指定的端口序列上发送特殊的数据包来打开一个或多个防火墙规则以允许传入的连接请求通过。
2023-12-21 15:31:22 1078
原创 DC-8靶场
下载后解压会有一个DC-8.ova文件。在网页里到处点击,找到了可以执行php代码的地方,可以执行Php代码的地方在,联系我们-->WEBFROM-->Form settings的地方,选择php code。-p, --path [EDB-ID] 显示漏洞利用的完整路径(如果可能,还将路径复制到剪贴板),后面跟漏洞ID号。使用“-v”(详细)来尝试更多的组合。
2023-12-20 22:54:55 1388
原创 DC-7靶场
下载后解压会有一个DC-7.ova文件,直接在vm虚拟机点击左上角打开-->文件--.选中这个.ova文件就能创建靶场,kali和靶机都调整至NAT模式,然后即可开始渗透。按照官网提示,可以在google里得到帮助,关键字跟网站下@DC7USER一样,能搜索到其github账户,账户下有网站源码文件,里面有config配置文件信息。发现能运行drush命令,drush命令可以更改密码,在/var/www/html目录下运行drush命令,更改admin的密码。
2023-12-20 10:48:29 971
原创 DC-6靶场
不过我在这里遇到了一个小问题,找不到rockyou.txt,顺着路径追下去发现我/usr/share/wordlists下的是rockyou.txt.gz而不是.txt,这种情况解压就行了,在文件里解压会提示没有权限,所以去到命令行用root权限在该路径下解压。下载后解压会有一个DC-3.ova文件,直接在vm虚拟机点击左上角打开-->文件-->选中这个.ova文件就能创建靶场,kali和靶机都调整至NAT模式,即可开始渗透。虽然看不到自己打的命令,但是命令的输出会出现在后面,正常回车就行。
2023-12-19 20:08:08 1083
原创 2023楚慧杯 WEB方向 部分:(
查看源码能看见账号:username169,密码:password196提交这个用户密码可以跳转到页面/dhwiaoubfeuobgeobg.php通过dirsearch目录爆破可以得到www.zip这里可以命令执行,使a=nl,b=/f*绕过正则得到O:4:"Flag":2:{s:1:"a";s:2:"nl";s:1:"b";s:3:"/f*";s:1:"b";s:3:"/f*";
2023-12-18 22:38:30 593
原创 DC-5靶场
而在/thankyou.php这个页面下的年份刷新有概率刷出不一样的年份,这说明年份信息是动态获取的,thankyou.php页面的年份刷新逻辑可能会从某个动态数据源中获取年份信息,可能这个年份信息就是从外部文件(footer.php)中获取的。由于我的蚁剑就在kali里,所以我在靶机后台的/tmp里直接上传这三个文件(单击右键能看见文件上传选项),如果不在/tmp上传会上传失败,如果蚁剑在物理机,就把三个文件拖出去进行相同操作。当file=/etc/passwd时,读取了文件信息,确认有文件包含漏洞。
2023-12-18 21:44:12 1112
原创 常用网安渗透工具及命令(扫目录、解密爆破、漏洞信息搜索)
感觉扫目录dirmap>dirsearch>御剑,我工具都是按在kali上的,命令也是在kali上使用。
2023-12-17 22:32:16 502
原创 DC-4靶场
DC-4:下载后解压会有一个DC-4.ova文件,直接在vm虚拟机点击左上角打开-->文件-->选中这个.ova文件就能创建靶场,kali(192.168.183.138)和靶机都调整至NAT模式。
2023-12-17 21:50:45 233
原创 流量分析基础
Wireshark是一款世界范围最广、最好用的网络封包分析软件,功能强大,界面友好直观,操作起来非常方便。它的创始人是Gerald Combs,前身是Ethereal,作为开源项目经过众多开发者的完善它已经成为使用量最大的安全工具之一。在CTF中也经常会使用wireshark进行流量数据包分析,可以快速检测网络通讯数据,获取最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
2023-12-16 23:56:47 1948
原创 DC-3靶场
cp /usr/share/exploitdb/exploits/php/webapps/42033.txt /home/kali/桌面/42033.txt。cp /usr/share/exploitdb/exploits/linux/local/39772.txt /home/kali/桌面/39772.txt。下载后解压会有一个DC-3.ova文件,直接在vm虚拟机点击左上角打开-->文件--.选中这个.ova文件就能创建靶场,kali和靶机都调整至NAT模式。使用“-v”(详细)来尝试更多的组合。
2023-12-14 23:40:16 245
原创 bugkuctf web随记wp
上传一句话木马,抓包,改Content-Type:为image/jpeg,把filename="1.php"改成filename="1.php4"(php2,php3,php4,php5,php6,php7,phps,phpt,phtml,phtm,Php,php:.jpg)两种绕过方式:1.利用该函数的空截断漏洞,开头就是\x00,后面不管是什么都会匹配成功,后端得到的是\x00,这中间还有个解码过程,因此要对\x00进行url编码为%00,如果用这种方法b要在最后,不然过早把\x00放入会把a也截断。
2023-12-14 23:26:25 410 1
原创 DC-2靶场
DC-2环境配置:解压后在vm虚拟机点击左上方文件-->打开-->选择解压后的DC-2。把kali和DC-2的网路适配器都改成NAT模式。
2023-12-13 10:56:33 175
原创 命令执行的一些绕过
1、大括号{}:2、$IFS代替空格:$IFS$9,${IFS},$IFS这三个都行Linux下有一个特殊的环境变量叫做IFS,叫做内部字段分隔符 (internal field separator)。?单纯$IFS2,IFS2被bash解释器当做变量名,输不出来结果,加一个{}就固定了变量名?$IFS$9后面加个$与{}类似,起截断作用,$9是当前系统shell进程第九个参数持有者始终为空字符串。?3、重定向字符
2023-12-02 23:36:30 415
原创 DC-1靶场
下载后解压成.ova格式,虚拟机上直接打开这个.ova就行,kali和靶机都调成NET模式因为攻击机和靶机同在局域网使用内网扫描:Nmap扫靶机ip:-v:该选项表示在扫描期间显示详细的输出信息,使您能够更好地了解扫描进度和结果。-A:这是一个组合选项,用于启用一系列高级扫描技术和功能,以便获得更全面的目标主机信息。-A 选项将同时启用以下子选项:主机发现(Host Discovery):尝试确定目标 IP 地址是否可达。
2023-12-01 16:45:06 82
原创 ISCTF2023 web方向wp超详细解析+做题思路(部分)
题目:提示了一句话密码为1,直接蚁剑连靶场,密码连1进去就能看见flag1根目录有flag2flag3不可能一个个点,肯定是转去虚拟终端用命令找,在开虚拟终端之前看下.sh,一般都会放些提示我们就能知道,FLAG3 包含了 FLAG 变量的从第 21 个字符到末尾的部分,可以直接在虚拟终端输出 FLAG3 变量的值那我们先进入虚拟终端,然后cd /去到根目录,然后在根目录输出FLAG3 变量的值别的命令不知道为什么不是返回不了,就是权限不够,都已经root了(?
2023-11-29 16:14:28 4337
原创 命令执行RCE各种绕过合集
对php来说这是fl""ag而不是flag关键字不会匹配上,但是对于linux系统来说cat /fl""ag等效于cat /flag。外面包裹的是单引号里面就是双引号,外面包裹的是双引号里面就是单引号,或者用斜线\去掉功能性,避免报错。被视为一个文件路径,并将该文件的内容输出到标准输出(通常是终端),并在每一行前添加行号。把一段已经拼接好的文件名输出到输出到一个文件里,然后把这个文件当成一个脚本去执行。目录是系统的标准目录之一,它包含了许多系统命令和工具的二进制文件,而。的文件,并给其内容添加行号。
2023-11-22 23:48:28 953
原创 PHP反序列化刷题合集
第一步:确定切入点在于($this->func)($this->var);,给func传system,给var传ls /,如果执行的话就是system(‘ls /’)查根目录,那我们怎么执行呢?需要我们触发evil方法第二步:我们注意到pwn类中的$this->obj->evil();可以触发evil()方法,那我们就可以把实例化的web类传给pen类的obj属性,想要真正触发evil()还需要触发__invoke()魔术方法。__invoke会在一个对象被当做函数调用时触发。
2023-11-20 23:58:58 457
原创 常见网安渗透工具使用方法合集(hydra、sqlmap、msfconsole)
简单的注入流程:1.读取数据库版本,当前用户,当前数据库sqlmap -u http://www.xxxxx.com/test.php?p=2 -f -b --current-user --current-db -v 12.判断当前数据库用户权限sqlmap -u xxxxx.com --privileges -U 用户名 -v 1
2023-11-17 21:49:34 756
原创 山东省“技能兴鲁”职业技能大赛 学生组 WEB方向全wp
打开就能看见源码抓包能看见回显里有Server: nginx/1.22.1在 Linux 系统上,Nginx 的默认访问日志和错误日志路径可以在 Nginx 的配置文件中进行设置。一般来说,默认情况下,Nginx 的访问日志和错误日志的位置如下:访问日志:默认情况下,Nginx 的访问日志路径是。这个路径可以在 Nginx 的配置文件中通过access_log指令进行设置。错误日志:默认情况下,Nginx 的错误日志路径是。这个路径可以在 Nginx 的配置文件中通过error_log指令进行设置。
2023-11-14 16:54:18 357
原创 强网杯 2019 Upload(代码审计、反序列化、thinkphp5,附代码审计详解)
首先看到登录和注册页面,爆破了一下admin登录界面无事发生,注册后登录看见一个上传头像的上传点(不知道是不是容器原因,上传完第一次后上传不了第二次一直显示连接不上),扫了下目录扫出一些文件,其中有用的是www.tar.gz打开压缩包能看见是th5,查看查看看到其定义的路由都指向了这个模块,该模块下共有四个控制器(四个文件的审计在最后)关键的点在于:Index.php中的login_check()中,有一处使用了反序列化,并且没有进行任何过滤寻找别的魔术方法Register.php中:Profile.php
2023-11-12 23:00:01 301
转载 Linux suid提权详细总结
suid(set uid)是linux中的一种特殊权限,suid可以让调用者以文件拥有者身份运行该文件,所以利用suid提权的核心就是运行root用户所拥有的suid的文件,那么运行该文件的时候就得获得root用户的身份了。suid特点是用户运行某个程序时,如果该程序有suid权限,程序运行进程的属主不是发起者,而是程序文件所属的属主。linux引入了3个文件来管理用户组:/etc/passwd存放用户信息。/etc/shadow存放用户密码信息。/etc/group存放组信息。
2023-11-11 23:51:35 643
原创 Newstar week5 WEB Unserialize Again(phar反序列化,__wakeup()绕过,phar重签名)
newf = s + sha1(s).digest() + h # 对要签名的数据进行SHA-1哈希计算,并将原始数据、签名和类型/标识拼接成新的数据newf。//写文件,文件名是$pear,内容是$file。f = file.read() #打开名为1.phar的文件,以二进制只读模式读取文件内容,并将其存储到变量f中。在文件系统函数(file_exists()、is_dir()等)参数可控的情况下,配合phar://伪协议,可以。因为重新赋值修改了文件的内容,之前的签名就会无效,所以需要。
2023-11-10 23:37:54 375 1
原创 Phar反序列化详细总结
phar协议,phar.phar包,和保存在phar包中的文件test.txt。被压缩的文件内容,在没有特殊要求的情况下,这个被压缩的文件内容可以随便写的,因为我们利用这个漏洞主要是为了触发它的反序列化。有file_exists(),fopen(),file_get_contents(),file()等文件操作的函数。Phar文件中被压缩的文件的一些信息,其中Meta-data部分的信息会以序列化的形式储存(当文件操作函数通过。,放在文件末尾,如果我们修改了文件的内容,之前的签名就会无效,就需要。
2023-11-09 20:00:10 247 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人