自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(189)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 牛客 4 合并两个有序的列表

这题的边界条件很简单,单个链表遍历到了最后,会达到None状态。如果两者都不为空,则直接返回小的节点。那么就把那个剩下的没空的链表给接上。先写边界条件,然后再写递归的条件。简单题,没啥好说的,直接上递归。

2022-10-17 10:54:51 285 1

原创 牛客网 6 判断链表中是否有环

这题其实源自于相遇问题,小学数学里何时超过一圈的问题大家都遇到过有木有?

2022-10-14 14:54:49 280

原创 牛客网 18 二维数组中的查找

这一题其实也没啥好说的,就是一个走迷宫的问题。1.从左下开始走,对于上方元素比他小,对于右方元素比他大,官网经典思路。

2022-10-14 12:57:35 238

原创 牛客网刷题 3 链表中的节点每k个一组翻转

head指针的作用只有一个,递归完成后需要接链,由于有了局部反转,最后接起来的是head.next。这题的主要思想是递归,用到了四个指针,head,tail,pre,curr。tail指针用于确定下一次K个数组队头的位置和内部循环条件的确定。pre,curr依旧用于局部反转。

2022-10-13 15:55:12 147

原创 牛客刷题 2 链表内指定区间反转

1.为什么要插入头节点:因为在第一个位置进行反转时,后续要用到pre->next,none类型是没有next的,所以得加头节点,上一题只动了current节点,没有用到pre节点的next,所以不要加。以向右为先序,依次进行操作,如果动到Listnode的NEXT了,如果后续还需要这个结果(一定需要),进行寄存,总之你要想一下动了之后整个链有没有断掉。注意,这里要与两个节点的next进行修改,以完成拼接。(1)将要反转部分的第一个节点始终移动到队头,即每次往前挪动一个位置。要将指定区间内的链表整体反过来。

2022-10-13 14:35:29 190

原创 牛客 1 反转列表

秋招找到现在0offer,可能确实不是啥做安全的料。当前节点的next依次指向之前节点,难得是下标更新。pre代表之前节点,curr代表当前节点。老老实实刷题背面经,春招找java吧。牛客第一题,反转一个列表。

2022-10-13 12:51:33 142

原创 BUUCTF WEB PICKLE STORE

众所周知,buuctf靶场经历了内网K8S改造,导致以前的小号的内网靶机的方法出了问题,我也疑惑了很久,该怎么去用这台不知道公网ip的靶机。后来我想明白了,给的是apache2的公网ip,那就直接外带啊,果然成功了,哈哈。看着像base64,解码一下,发现一个标志:anti_tamper_hmac。无法逆向的hmac,那么结合题目的pickle,八九不离十的猜是反序列化。这一题是一个简单的python反序列化,简单的写个脚本就好,没啥好说的。关于pickle的指令解析可以看这个师傅的。

2022-09-30 17:48:35 272

原创 BUUCTF WEB filejava

简单总结一下,上传的xlsx文件在解析时会调动到[Content_Types].xml的恶意代码,从而去vps上执行含有恶意xxe的file.dtd文件,而这个文件的执行结果就是把受害机。由于扫出来是tomcat,做过java web业务的都知道最重要的一个配置文件是WEB-INF里面的web.xml文件,说他是万物之祖也不为过。先说一下,kali尽量不要更新到python 3.10,否则好多工具都不能用了。这题提示是java题目,上来先是一个上传窗口,尝试文件上传直接写马,发现不行。

2022-09-30 11:19:05 1174

原创 关于GPU利用率低的一种可能

这两步io操作极大限制了GPU的性能,每1000步和2000步算法均需向monitor.csv和tensorboard里写入相关数据,在调试阶段可以通过这些数据查看算法有无问题。GPU需要忙等CPU的IO操作结束,于是果断把他注释掉了,算法运行时间快了10倍有木有!本人用STABLE_BASELINES3里面的算法进行实验,结果发现GPU利用率一直很低,只会偶尔高一下然后又下去,原来是我的算法写的有问题,采样时间非常的长,智能体会受限于采样时间。关闭一切可能的IO操作!

2022-09-21 10:33:47 2869 1

原创 Double-DQN笔记

double-dqn是dqn比较著名的变种,他主要解决的一个问题是在之前的DQN公式中,我们用网络估计出来的Q值比Q值的实际值要高很多,也就是著名的过估计问题。先说一下什么是过估计,看过张斯俊大神这一篇的就会知道https://zhuanlan.zhihu.com/p/109498587Q值最最最保真的值,也就是他的定义式,应该是由这个动作引发的直接一步后续所有可能状态的期望,但是我们不可能说等到所有状态都迭代好了以后再去求这个Q值。所以在Q-Learning阶段我们就选用了下一个state最大Q值

2022-06-27 21:46:39 391

原创 DQN笔记

DQN基于Q-Learning,也就是说DQN也是一个离线算法,它第一个关注点是解决空间状态爆炸的问题,也就是说它不解决连续动作的问题tip:何谓连续动作例子,取值为(0,1)之间任意数为连续变量,动作包含连续变量的叫做连续动作最基础的思想是用一个神经网络来拟合Q-Table里面的Q值。用到了神经网络那么就有一个训练的问题,训练的数据哪里来,与环境交互。最基础的DQN数据存储(s,a,r,s’)数据用于训练DQN里面的网络是一个监督学习的过程,其目标是真实值和估计值之间的差值最小,术语叫做TD-E

2022-06-27 17:38:50 766 1

原创 Sarsa笔记

首先要讲的是,sarsa也是一种基于TD的算法,他与Q-LEARNING唯一的不同是那个target_policy,或者说更新Q值的方式,之前Q-learning是选取执行动作后下一个state,当前Q表里值最大的值。而Sarsa他与Q-Learning不同的一点就是它也是根据epilson-greedy的方式取选取要执行的下一步动作,并把这个动作的Q值代入公式里去更新Q表。值得说明的是,这个动作并没有被执行,他也是Q表里估计的值,只不过选出来的动作不同罢了,我看莫凡视频的时候它讲的是sarsa是行动派

2022-06-26 16:54:47 126

原创 Q-Learning笔记

emmmmm,被迫强化学习强化学习的思想其实很好理解啦,通过不断和环节交互,来修正agent的行为这里强推一下这个知乎博主https://www.zhihu.com/column/c_1215667894253830144真的是用大白话把我给讲懂了,搜别的动不动上来这个公式那个理论的,真的是一脸懵逼。。。。。。(理解流程之后你去看那些公式发现其实也没那么难懂)先看一下Q-Learning的算法流程,然后一一解释,这里借用一下莫凡python的流程图:首先要说的是你要有一个基础化的Q表的,否则你毛

2022-06-26 15:35:05 667

原创 Dest0g3 520迎新赛 WEB EasySSTI

SSTI

2022-06-06 10:54:22 448 1

原创 BUUCTF WEB 2020新春红包题1

还是太菜了,继续更吧。发现自己反序列化这块挺菜的,找个题目来看看吧,明显的看到了serialize,还有file_put_contents,看来是序列化写shell无疑了<?phperror_reporting(0);class A { protected $store; protected $key; protected $expire; public function __construct($store, $key = 'flysystem', $

2022-05-31 10:24:06 284

原创 BUUCTF WEB Node Game

之前没学过node代码,这题上来给了源码,先简单过一遍源码//调用若干系统模块//express用于构建web app应用var express = require('express');var app = express();//filesystemvar fs = require('fs');//用于处理文件/目录路径的一个内置模块var path = require('path');//用于创建一个web服务器实例var http = require('http');//模板引擎

2022-05-18 11:34:11 272

原创 记一次手贱删除kali自带python3的恢复过程

之前帮师弟装zenmap,他老是报python2和python3的版本错误,搞得我都麻木了(后来发现其实就是删除python-is-python3,安装python-is-python2)就好了,emmmmm,都是泪我一开始是把python3删了,解决完依赖问题再把python3装回来的。。。。。但我看到他删除的东西后,我发现我完全低估了kali对python3的依赖程度卸载第一项,kali-defaults。。。。。我靠,他是直接把系统都给我干没了啊,悔不当初,最要命的是我想依靠命令行把这些东西都装回

2022-05-18 10:54:38 1484

原创 记一次略显麻烦的zenmap安装过程

众所周知,在kali2020版本以后,kali移除了zenmap,因为这东西太鸡肋了,和nmap相比就是单纯多了一个图形化界面,您都用上kali了,还不适应命令行模式啊。。。。但就是师弟强行要用,没办法,安排吧首先第一步要做的是系统默认的python版本切换,师弟系统默认是python3因为安装了python-is-python3,(root用户,所有命令省略sudo)第一步apt-get remove python-is-python3第二步,安装python-is-python2(主要是解决p

2022-05-18 10:21:56 878 1

原创 BUUCTF WEB COOKIE STORE

emmmm…自从buuctf变为K8S管理以后,靶场就出现了各种非预期解,这题就是典型了吧我第一遍刷的时候这题还涉及到反序列化,现在属于是纯粹的一个base64编码,改cookie题了ok,废话少说,打开场景,发现买flag的逻辑,抓包,发现买三种产品的cookie不同,cookie里的session像是base64编码解码,发现直接是money和history。。。。。。。。。。。。我直接改了不成嘛补一个这题原先的考点,pickle反序列化和__reduce__魔法方法(更正一下,我好像和pick

2022-05-13 10:51:10 142

原创 BUUCTF WEB CV Maker

这题其实挺没意思的,没意思到简简单单的一个图片马而已本来看见注册逻辑,还想想sql注入啥的,发现登陆以后连个回显都没有,也没找到啥判断逻辑的地方,注个锤子随便注册个账号,登录,发现有上传头像功能,这不传个shell上去玩玩?好吧,这题就是个文件上传题原生的php上传,提示exif_imagetype not image,不是图片格式,加一个GIF89a直接过,连文件类型过滤都没有的在原来页面里找到上传地址,蚁剑直接连,成功拿到flag参考视频链接:https://www.bilibili.com/

2022-05-11 10:46:42 242

原创 电脑重启后自带键盘失灵而外接键盘有用的一种情况

外界有用的化,大概率硬件是没什么问题的,我是强行关机导致的驱动出错windows徽标键+R,输入compmgmt.msc(计算机管理;这个命令在百科里可以找到),点击确定,打开计算机管理点击设备管理器,点击,选择右侧键盘,下拉,可以看到自带的PS/2键盘,右击属性,驱动程序,选择卸载驱动,最后保存退出,然后先不重启,刷新驱动,确定设备已卸载此时重启电脑,发现已经重新安装驱动,恢复正常...

2022-05-11 10:16:38 6080 1

原创 BUUCTF WEB TRUE XML COOKBOOK

由于某种神秘的不可抗力,很久没更新了,emmmm。以后还是勤快一点吧言归正转,这题都已经把提示给到脸上了,xml,这不试试xml注入?经典登录界面,抓包就可以发现数据事宜xml形式的传往后台的X-Requested-With: XMLHttpRequest依旧推荐https://xz.aliyun.com/t/6887#toc-5构造倒是没有多难,但这题最大的坑点在于flag不是在本地的,所以他是一个内网题。。。。一个小经验:由于BUUCTF转用了K8S管理,他的靶机容器是随机在80,81两个网

2022-05-09 15:02:52 539

原创 BUUCTF WEB Ezsqli

继续刷题,comment之前在攻防世界刷过了,就不刷了。从题目上我们就知道这一题是个sql注入题打开场景,我们发现依旧的儒雅随和一个查询框,那么就是要硬搞了呗经查询1,2是两条有效数字,0和其他的都是非法输入1+1成功回显2,下面就是过滤字判断既然是布尔型的回显,先试试0^1,嗯,异或符给我们留下了布尔类型查用的substr,ascii先试试0^(ascii(substr(‘hello’,1,1))>1)1^(ascii(substr(‘hello’,1,1))>1)成功回显,

2022-04-01 11:52:58 5347 2

原创 BUUCTF WEB zhuanxv

这题和攻防世界是一样的,但是由于BUUCTF靶场的设置问题,导致很多人脚本跑不出来,具体可以看这篇https://blog.csdn.net/qq_41696858/article/details/120156854对脚本做个简单修正import requestsimport times = requests.session()list=[6,7,8,9,10,11,12,13,15,16,17,18,20,21,22,23,25,26,27,28,30,31,32,33,34,35,36,37

2022-03-25 10:19:47 630 1

原创 BUUCTF WEB WELCOME TO THE EARTH

日常刷题,打开场景,发现图片过了一段时间会变,看来有js代码emmm,这题属于是送分题,找路径啥的属实没意思,不妨直接看最后的python脚本呢?看页面内容<!DOCTYPE html><html> <head> <title>Welcome to Earth</title> </head> <body> <h1>AMBUSH!</h1> <p>

2022-03-21 12:14:28 4403

原创 BUUCTF WEB ESAYLOGIN

登录注册首想二次注入,但是注册成功以后发现连个回显点都没有,所以这条路就断了然后随便注册一个账号,有个getflag按钮,点击发现权限不够。这里就想到要伪造身份绕过了审计注册页面源码,发现/static/js/app.js目录看看,发现hint/** * 或许该用 koa-static 来处理静态文件 * 路径该怎么配置?不管了先填个根目录XD */百度一下,看看koa是个啥,原来是个nodejs的web框架function login() { const username

2022-03-15 11:21:22 5423

原创 BUUCTF WEB SSRF ME

这题没啥好说的,简简单单一个命令执行漏洞10.244.80.46<?php if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $http_x_headers = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $_SERVER['REMOTE_ADDR'] = $http_x_headers[0]; } echo $_SERVER["REMOTE_AD

2022-03-11 14:57:26 3281

原创 BUUCTF WEB EASYSQL

sql注入题看到login和register的双逻辑,本能反应往着二次注入里想,属于是条件反射了现在register.php写个小脚本测试一下关键字import requestsimport timesql_char = ['select', 'union', 'and', 'or', 'sleep', 'where', 'from', 'limit', 'group', 'by', 'like', 'prepare', 'a

2022-03-10 15:00:21 2462

原创 BUUCTF WEB easyweb

这题考的是sql注入,主要是有两个过滤函数,然后两个过滤函数拼接过后产生了漏洞审计页面源码,没发现啥好玩的,那就扫目录吧dirsearch -u http://b53e32cc-9153-409a-a5cc-d89dafd9053b.node4.buuoj.cn:81/ -s 1 -t 1扫出来一个robots.txt查看User-agent: *Disallow: *.php.bak先看index.php的代码emmmm,失败了,那么看看index.php页面有没有包含点其他页面user

2022-03-09 16:56:57 553

原创 BUUCTF WEB CyperPunk

打开场景,查看源码,发现hint<!--?file=?-->于是考虑文件读取漏洞尝试?file=php://filter/convert.base64-encode/reosurce=index.php成功回显PD9waHAKCmluaV9zZXQoJ29wZW5fYmFzZWRpcicsICcvdmFyL3d3dy9odG1sLycpOwoKLy8gJGZpbGUgPSAkX0dFVFsiZmlsZSJdOwokZmlsZSA9IChpc3NldCgkX0dFVFsnZmlsZSd

2022-03-08 11:51:53 444

原创 BUUCTF WEB flasklight

既然是flask框架,第一个想到的就是SSTI模板注入之前也做过很多题了,审计源码,看到了 <!-- Parameter Name: search --> <!-- Method: GET -->带过去的是get的search参数,这页面有查询回显那么就拿基础payload试一下?search={{7*7}}成功回显49,验证完毕,下面就是找过滤和绕过了先看config?search={{config.items()}}没啥好用的,那就从’'里面一个一个往

2022-03-07 10:47:32 597

原创 BUUCTF WEB DROPBOX

这题考的是phar文件的应用,说到底是考的反序列化洞,我们不能一直指望有UNSERIALIZE这种明显的反序列化洞,于是phar就是一种替代选择phar文件的细节可以看这一篇文章https://xz.aliyun.com/t/2715关于这题的wp个人觉得这篇写的很详细https://www.jianshu.com/p/5b91e0b7f3ac理清楚了应该不是啥难事简单来说phar就是一种压缩文件格式,因此使用phar的先决条件是得有文件上传功能phar漏洞的触发条件或者说出触发代码在mani

2022-03-06 15:34:26 478

原创 BUUCTF WEB 枯燥的抽奖1

代码审计,打开页面,就发现了$(document).ready(function(){ $("#div1").load("check.php #p1"); $(".close").click(function(){ $("#myAlert").hide(); }); $("#button1").click(function(){ $("#myAlert").hide(); guess=$("input").va

2022-03-04 09:57:13 253

原创 BUUCTF WEB Can You Guess it?

代码审计,依旧有我们的老朋友preg_match,不会还有一个新朋友basename()先看源码<?phpinclude 'config.php'; // FLAG is defined in config.phpif (preg_match('/config\.php\/*$/i', $_SERVER['PHP_SELF'])) { exit("I don't know what you are thinking, but I won't let you read it :)");}

2022-03-03 09:57:18 375

原创 BUUCTF WEBRCESERVICE

首先这题没源码是万万做不出来的,反正我是不知道这源码从哪来的先上源码<?phpputenv('PATH=/home/rceservice/jail');if (isset($_REQUEST['cmd'])) { $json = $_REQUEST['cmd']; if (!is_string($json)) { echo 'Hacking attempt detected<br/><br/>'; } elseif (preg_match('/

2022-03-02 10:22:17 517

原创 BUUCTF WEB 颜值成绩查询

一个查询窗口,很直观的感受是SQL注入,本着这个思路,测试0,1,2,3,4,5发现0和5都是doesn’t exists,这里就可以利用布尔盲注来进行0,1的判断,下面就是过滤字的判断由于只是布尔判断,所以没有办法判断是单引号闭合还是双引号闭合,or和and也不能判断出来,空格被过滤了是在后面爆表名的时候判断出来的在尝试1^1的时候发现回显doesn’t exists,那么这个payload就是没问题的,下面就是判断过程了1^if(length(database())>0,1,0)回显doe

2022-03-01 10:35:21 244

原创 BUUCTF WEB KOOKIE+RCE ME

继续更新kookie题目提示了cookie,那么就抓包看看喽以admin进行登录,发现是以明文发送的username和password尝试添加cookie条目,username=admin,登陆成功,拿到flag。。。。。最简单的cookie注入rce me这题简单粗暴的源码审计,就是不用数字字母写一个shell,长度不超过40那么百度了以后,发现有两个绕过思路,取反或者异或,其实就是利用计算机编码的知识,在前面的if判断阶段,并不会进行字符编码运算以取反为例,也就是说if循环看到的是取反符

2022-02-28 09:53:08 553

原创 攻防世界 WEB easy_laravel

这题我一开始是在攻防世界做的,但是不知道今天靶场又抽什么风了。。。。反正两个靶场配置有点不一样,但是出入不是很大,BUUCTF需要提前手动利用管理员邮箱reset_password一下,攻防世界不需要打开场景,审计页面源码,发现源码地址直接给出来了,非常的简单粗暴啊https://github.com/qazxcv123/easy_laravel建议把源码下下来,自己搭个环境慢慢看,不然不方便。那就看源码呗,先看路由,mvc的入口点哦对了先说一下,larvel是一个PHP的web框架在一个个尝试路

2022-02-06 10:45:10 3425

原创 BUUCTF WEB 套娃

前面的几题攻防世界也有,而且buuctf换成k8s管理以后和纯原生的docker环境又不一样了,有些地方我百度了也没百度到。。。。打开场景,看见一段被注释掉的源码<!--//1st$query = $_SERVER['QUERY_STRING']; if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){ die('Y0u are So cutE!');} if($_GET['b_u_p

2022-01-28 11:13:02 2881

原创 BUUCTF WEB easysearch

由于buuctf独特的防扫机制,建议加上 -s -t参数,等个10分钟查看index.php.swp查看源码<?php ob_start(); function get_hash(){ $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-'; $random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[

2022-01-07 11:19:49 1943

shiro-1.2.4

用于shiro550验证,编译好的war包,需要自取

2022-04-22

marshalsec-0.0.3-SNAPSHOT-all.jar

marshalsec-0.0.3-SNAPSHOT-all.jar,本来打算直接下的,奈何csdn上的要积分太多,还不如自己编译

2020-10-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除