自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 深度学习-环境准备

本系列所有内容将基于《动手学深度学习》一书(所以在环境准备一节会参考该书来搭建。

2025-08-03 16:08:15 233

原创 CTF自学-SSRF(2)

首先还是用十分方便的file协议看源码这里的index.php其实和SSRF第一题内网访问的一样,之前忘记分析了,这里简单解释一下关键代码含义。接下来看flag.php源码,可以看到与第一题内网访问不同的是这次的flag.php不仅对来访的ip进行检查,还会检查POST请求包中的key的值是否正确,而key的正确答案显然就在下面debug注释中嵌入的php代码里,通过http协议访问该文件即可看到php执行结果获取key。

2025-07-17 11:49:38 173

原创 CTF自学-SSRF(1)

SSRF(Server-Side Request Forgery)即服务端请求伪造,应用的场景通常是在已经获取某台服务器的漏洞后,利用这台服务器发送请求获取同一内网环境中其他服务器上的资源(或者本服务器上的其他资源),这些资源通常是在内网环境中开放访问而对外网ip则进行限制。

2025-07-01 19:59:11 394

原创 CTF自学-RCE(3)

题目给的输入位置使用来给终端执行ping命令的,两个终端命令用&&连接为顺序执行且需要前一个命令成功,而用&连接则并发执行,所以为了方便可以让ping命令非法然后用&连接需要执行的命令。又或者用分号隔开,也可以实现多条命令顺序执行。在输入框中输入以下内容查看当前目录下的文件,由于ping -c 4 a命令非法所以会直接执行&后面的命令,比较节省时间,当然填一个合法IP也是可以的。a & ls查看当前目录可以发现一个数字命名的可疑文件。尝试查看发现文件为空,真的为空吗?

2025-05-20 22:24:49 305

原创 CTF自学-RCE(2)

先看源码,可以看到这次是白名单过滤,只允许include由php://开头的文件,我查阅资料后,得知php://是php伪协议的一类写法,包括了php://input和php://filter等协议,本次要使用的是php://input,百度说php://input就是post的原始内容。如图所示,我在URL后面添加GET的内容为file=php://input,但由于php://input内容为空(没有POST任何数据),所以服务器执行了include(php://input)并没有任何效果。

2025-05-18 20:40:39 869

原创 CTF自学-RCE(1)

RCE(remote command/code execute)远程代码/命令执行漏洞,说白了还是和之前的利用方式差不多,就是在网页中找到注入点,这次注入的位置是用来传递部分命令到服务器来执行的一个输入点。与前面的系列大同小异,本质上就是注入的程序不一样,SQL注入是注入数据库服务,XSS是注入客户浏览器程序,文件上传(php)注入网页服务,这次的REC则直接注入服务器的终端,说到底全是注入攻击。

2025-05-18 04:12:45 391

原创 CTF自学-文件上传(3)

即Multipurpose Internet Mail Extensions(多用途互联网邮件扩展)。用于传输不同类型的文件。该题中后端会检查MIME协议中文件类型是否合法。

2024-10-25 23:48:33 455

原创 CTF自学-文件上传(2)

前端验证,即对文件格式的校验由客户端完成。如下图,上传php文件会被阻止:观察网页源码可以找到进行白名单过滤的js脚本:绕开前端验证有两种思路,一种是上传正确格式的文件,在点击提交文件后通过代理修改请求包头部的文件后缀,另一种是在前端获取到上传文件的页面之前先通过代理删除页面中关于文件过滤的代码。我这里采用了第二种思路,通过BurpSuite实现对前端代码的修改。首先开启拦截,拦截到了前端请求页面的数据包。

2024-10-23 21:53:21 502

原创 CTF自学-文件上传(1)

也就是常说的一句话木马,其中$_POST也是php的超全局数组,用于存储客户端通过POST方式提交的内容,后面的'c'是与客户端约定的key,eval()函数则可以将其中的内容当作php代码执行,于是这句话就实现了在客户端通过post方法提交php代码并使服务器执行的功能。前面的@可以屏蔽报错信息。文件上传攻击,其核心就是利用服务端执行php文件的特点,通过向服务器上传一段恶意的php代码并使其执行来达到窃取服务器信息甚至获取服务器权限的目的。提交文件后访问文件路径,可以看到php文件被成功执行。

2024-10-17 22:10:22 555

原创 CTF自学-XSS(2)

本题中页面没有可以输入的地方,观察web源码发现用到了location结点。location主要用于记录当前页面url中的各种信息。如下图,location.search为url中?后面的部分,location.herf为完整url,所以下面的代码即将原url中"jumpto="后面的部分作为新的url实现页面跳转。所以在当前url后加入?jumpto=(注入的内容)即可实现注入,例如在url框后输入?jumpto=https://baidu.com即可在打开页面后跳转到百度。

2024-10-11 10:47:12 1911

原创 CTF自学-XSS(1)

XSS(Cross Site Scripting,防止与CSS混淆)跨站脚本攻击,即向web页面插入恶意脚本代码,与SQL注入相似,不过SQL注入的位置是数据库查询语句,XSS注入的是网页脚本。

2024-09-30 17:57:03 2031

原创 CTF自学-SQL注入(2)

User-Agent顾名思义就是用户代理,用于标明浏览器客户端设备信息。与Cookie类似,也是保存在本地的特殊字符串,在发送请求时会上传至服务端。一些网站为了防止注入攻击可能采用过滤用户输入的方式来保护数据,这里的一个简单例子就是过滤空格的保护方式。cookie是保存在客户端的一段文本,用于在用户访问网站时上传之前保留的用户信息。

2024-09-30 08:41:43 274

原创 CTF自学-SQL注入(1)

为了查询我们想要的信息,必须对数据库中的表结构了如指掌,为此需要通过在查询窗口注入SQL语句来查出数据库名,表名,列名等信息,再进一步定位到我们需要的表数据上。与整数型注入类似,只不过此时我们输入的内容默认为字符型,即在执行查询时输入的值两侧会添加上'或",以单引号'为例,只需在输入框开头添加',结尾添加#(#为注释符),就可以使得单引号闭合,我们注入的查询语句能够被执行。报错注入主要用于不显示查询结果的情况,此时可以另辟蹊径,通过系统返回的报错信息来获取我们想要的数据。

2024-09-27 16:51:03 1753

C++MFC实现的连连看小游戏

本科期间的课程作业,由C++MFC实现的连连看小游戏,可以支持计时、暂停、重排、提示功能,注意主界面游戏模式可以玩的只有基本模式。

2025-05-21

空空如也

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

TA关注的人

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