- 博客(55)
- 收藏
- 关注
原创 CTFSHOW 萌新 web15 解题思路和方法(使用字符类绕过判断)
然后我们可以用tac config.php查看文件内容(*被过滤了)。但是我们发现php 、点 、config都被过滤,此时我们可以对这三部分进行"包装",即使用方括号(字符类)对config.php进行表示,字符类的使用方法可以参考正则表示式。其中,[g]表示此位置为括号中的字符g,[!1]表示不为1,此处用来表示 点(.)等符号,但是我们发现代码中解除了对分号的过滤。那么我们可以构造url语句。查询当前文件夹下的文件。较上一关卡,又过滤了。
2024-08-31 00:04:39
809
原创 CTFSHOW 萌新 web17 解题思路和方法(利用文件包含漏洞)
点击题目,发现代码中使用了文件包含,那么我们可以尝试使用文件包含的方向解决该题,使用wapparryzer插件分析看到其服务器类型为nginx。发现其日志文件中写入了user-agent了信息,那么我们在提交请求的时候可以在user--agent中写入木马。使用bp抓包软件抓取请求,然后修改user-agent的值,写入一句话木马,然后提交请求。Web18、web19、web20、web21 解题思路和方法与web17一模一样。右键单击,进入目录,发现www下有两个文件,我们点击36d.php查看其内容。
2024-08-27 15:28:46
1273
2
原创 CTFSHOW 萌新 web13 解题思路和方法(利用?>提前结束语句)
此时,如果按照之前的方式构造url语句,发现由于分号的存在导致返回cmd error信息。此时我们可以考虑使用?> 使得php代码提前闭合,即构造url。点击题目链接,分析代码。发现相比上一关卡,增加过滤了分号。查看当前目录下面所有的文件内容,从而获得flag的值。
2024-08-15 16:35:08
444
原创 CTFSHOW 萌新 web14 解题思路和方法(利用反引号执行系统命令)
点击题目链接,我们发现页面代码中相较上关卡添加了括号过滤,这意味着我们不能使用passthru函数执行命令。导致不能使用 passthru 函数,从而导致无法使用系统命令。此时我们可以使用反引号进行绕过。发现当前文件夹下有两个文件,此时可以通过 tac * 查看所有文件的内容,构造url语句。>,让代码在php结构中的最后一行(php最后一行代码末尾无分号;即 `ls` 等同于 shell_exec('ls')
2024-08-14 15:43:46
379
原创 CTFSHOW 萌新 web10 解题思路和方法(passthru执行命令)
点击题目链接,分析页面代码。发现代码中过滤了system、exec 函数,这意味着我们不能通过system(cmd命令)、exec(cmd命令)的方式运行命令。可以发现,passthru未被过滤,那么我们可以使用该函数执行命令。查看config.php的文件内容:?(web11、web12、解法与本关相同)
2024-08-03 22:25:54
517
原创 CTFSHOW 萌新 web9 解题思路和方法(利用system函数执行系统命令)
因为题目中提示flag在config.php文件中,所有可以直接读取该文件。当然,如果题目中没有说明falg在那个文件中,我们可以使用。查看所有文件内容,然后从结果中查询。
2024-08-03 22:25:29
400
原创 CTFSHOW 萌新 web8 解题思路和方法(删库跑路)
才有资格让我们跑路。所以这顿熟悉的操作很有可能是删库,那么我们尝试构造url并提交,发现获得flag值(%20 表示空格)点击题目链接,进入题目页面。可以看到当$key===$f的时候,返回flag。而$_f 则为我们传入的参数值。那么传入的参数值是什么呢,根据题目提示 “阿呆熟悉的一顿操作,去了埃塞尔比亚”。删过库的都知道,只有。
2024-07-30 10:53:47
778
原创 CTFSHOW 萌新 web7 解题思路和方法(二进制表示)
需要注意的是intval对字符串的转换成数字是从左边第一位开始,直到遇到非整数的字符。而我们发现过滤条件将取反也过滤掉了。那么我们可以采用其他的方式绕过if判断,
2024-07-30 10:53:24
659
原创 CTFSHOW 萌新 web6 解题思路和方法(利用取反运算符)
点击题目链接,发现sql查询当id=1000时返回flag的值,但是if语句判断需要intval(id)
2024-07-26 10:08:56
539
原创 CTFSHOW 萌新 web5 解题思路和方法(利用取反运算符)
点击题目链接,发现页面代码,根据最后一行的提示当id=1000时返回flag值,但是前面if判断intval(id)的值不得超过999,故需要对其进行绕过。我们发现题目中相比前几题中过滤条件更为严格,但是没有过滤取反运算符。
2024-07-24 22:37:36
344
原创 SSRF漏洞
该漏洞的原因一般是由于服务端提供了从其它服务器获取数据的功能,比如使用户从指定的URL web应用获取图片、下载文件、读取文件内容等。(2)限制协议类型,只允许http、https必要的协议,禁用不需要的协议从而防止 ftp:// 、file:// 等引起的问题。(3)服务器本地文件读取,通过 file:// + 文件路径(需要事先知道文件路径)(2)ftp探测 ,ftp:// + ip + 端口(ftp端口一般为21)。(4)返回内容检验。(1)http 探测(http:// + ip+port端口)
2024-07-03 09:55:48
389
原创 CSRF漏洞
当用户已经登录了一些网站的同时,又点击一个带有CSRF漏洞的链接时,黑客可以使用用户的身份进行一些操作。基于pikachu进行CSRF请求的攻击实验,实验达到目的是修改用户的个人信息:1、首先搭建pikachu的靶场,然后进入CSRF漏洞测试页面,进入发现需要用户名和密码,点击提示便可看到封路的账号密码:2、随便登录一个账户,便发现登录成功。、此时我们构造一个CSRF恶意网站,然后将其投放到目标服务器上,构造攻击页面有两种方式,分别是以及通过。
2024-07-02 09:15:11
1408
原创 burpsuite 设置监听窗口 火狐利用插件快速切换代理状态
1、首先打开burpsuite,点击Proxy下的Options选项:2、可以看到默认的监听端口为8080,首先选中我们想要修改的监听,点击Edit进行编辑3、将端口改为9876,并保存4、可以看到监听端口修改成功。
2024-07-02 00:03:11
2360
原创 RCE漏洞
(Remote code/command execution),远程代码执行和远程命令执行。在很多web应用开发的过程中,程序员可能在代码中编写一些能够运行字符串的函数,当用户可以控制输入内容时,这就导致了RCE漏洞。
2024-06-30 16:28:02
654
原创 XSS漏洞介绍以及waf绕过
跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入Web里面的 Script 代码会被执行,从而达到恶意攻击用户的目的。主要在于程序对输入和输出的控制不够严格,导致攻击者在将script代码输入后,在前端浏览器被当作有效代码解析并执行从而产生危害。
2024-06-27 22:21:33
2236
原创 CTFSHOW 萌新 web4 解题思路和方法
需要蓄意的是,题目使用intval()函数进行整形转换。在转换整数类型时,如果被转换的是整数类型,则会直接原样转换;如果是字符串类型,则会从第一个字符开始转换,直到遇到非整数类型的字符才会停止;使用逻辑运算符 ||进行测试,发现成功获取的到flag。首先使用 union 进行测试,发现报错。
2024-06-27 22:20:22
608
原创 网络安全 文件上传漏洞-21 upload-labs通过全部关卡
其中有争议之处欢迎各位批评指正,或者有新的想法,欢迎大家评论。望在网安的道路上共同学习,携手并进。
2024-06-26 18:53:05
342
原创 网络安全 文件上传漏洞-20 第二十关 Pass-20
理论证明结束,实践继续,对刚刚我们抓取的包进行修改,即修改为 $file[0] = "myupload.php" , $file[2] = "jpg" 的数组。以数组的的第n项作为后缀名,假如数组只有两项,即file = [文件名,"jpg"],则count[$file]=2(因为数组下标从0开始,所以需要减一)然后判断file是不是数组,如果file的值不是数组,使用explode()函数将其拆分为文件名和后缀组成的数组,并将数组的最后一个值作为后缀名。这里我们不对 $filep1]的值作定义。
2024-06-26 18:52:44
691
原创 网络安全 文件上传漏洞-19 第十九关 Pass-19
我们发现文件通过$_POST["save_name"]的方式获取并定义保存的文件名,然后对该文件名的后缀进行黑名单验证。点击foward,发现上传成功。此时右键单击复制文件地址,并在浏览器进行访问。此时右键单击复制文件地址,并在浏览器进行访问。删除url链接php后面的多余字符串然后回车,成功获取服务器php信息。修该后缀名jpg为php%00.jpg,然后对%00 进行url编码(post请求需要我们手动编码)修改save_name值中文件名的后缀为php,然后再点击一下(两下也行)空格键。
2024-06-24 17:13:59
849
原创 网络安全 文件上传漏洞-18 第十八关 Pass-18
分析代码,我们发现当文件上传成功,会经历文件的移动和重命名操作。此时我们在改名之前运行php代码。打开Payloads 选项卡,然后设置 Payload type为Null payloads。考虑apache对于未知扩展名解析漏洞,只要是.php.*结尾。修改复制info.pnp文件,并将其后缀后面加上 .7z。(*可以代表一切后缀名,这里使用.7z后缀名)都会被Apache服务器解析成php文件。发现成功获取到对方服务器的php信息。接下来流程同第十七关(
2024-06-24 17:12:10
594
原创 网络安全 文件上传漏洞-16 第十六关 Pass-16
我们发现我们上传的文件会被服务器使用是imagecreatefromjpeg、imagecreatefrompng、imagecreatefromgif函数进行二次渲染,这时我们创建的木马图片会被修改。打开010 editor,然后打开刚刚下载的渲染后的图片,在图片中插入一句话木马,然后保存上传测试,有时候插入的代码可能会被渲染的时候删除,我们可以在不同的地方多试几次。那么我们可以使用二次渲染绕过,对渲染后的图像植入一句话代码,首先下载图像到本地(上传完成复制文件地址构造url并在浏览器访问。
2024-06-23 15:07:12
462
原创 网络安全 文件上传漏洞-17 第十七关 Pass-17
也就是说,不管什么文件都能上传,但不管是否图片,后门都会删除。此时我们可以考虑条件竞争,即没删除之前,如果文件是打开的状态,可能删除失败,这样就能保留原本的文件。然后我们开始构建url访问链接,文件上传的环境如果在本地部署则为locahost/upload/info.php (127.0.0.1/upload/info.php),如果在虚拟机则为 虚拟机ip+/upload/info.php,构建完url地址后使用浏览器持续的访问该链接,即持续点击刷新,直到浏览器返回目标服务器php信息。
2024-06-23 15:06:33
430
原创 网络安全 文件上传漏洞-15 第十五关 Pass-15
exif_imagetype()函数读取图像的第一个字节并检查其签名,返回对应图像的常量,如果该函数在读取到的第一个字节里没有找到图像的签名,返回FALSE。因为图像读取图像内容,然后在检查签名,所以我们可以考虑在图片中注入木马,这里仍然使用copy命令注入一句话木马,方式和第十三关相同(利用获得的图像地址构造url并在浏览器访问,从而获得服务器php信息。),然后上传图片马,并复制其地址。
2024-06-21 00:12:14
485
原创 网络安全 文件上传漏洞-14 第十四关 Pass-14
getimagesize()在获图像信息的时候,会涉及到图像的读取,此时我们可以利用该漏洞,上传图片马。$ext = image_type_to_extension($info[2]) : 根据指定的图像类型返回对应的后缀名。代码中,首先通过getimagesize函数和image_type_to_extension 获取图像的后缀。striipos()函数返回字符串在另一个字符串中第一次出现的位置。下一关(网络安全 文件上传漏洞-15 第十五关 Pass-15)),使用copy命令,然后上传图片马。
2024-06-21 00:09:48
533
原创 网络安全 文件上传漏洞-13 第十三关 Pass-13
因为这一关采用读取文件的方式判断文件类型,我们不能简单的提交php木马文件。mode为打开模式,r表示以只读模式打开,b表示以二进制的方式打开。file_handler为文件指针,是fopen的返回值,len表示读取文件的长度。其中我们用到一张图片和我们创建的一句话木马文件,再命令提示符(按住 win+r 快捷键,然后输入 cmd 并回车即可打开)中执行命令,然后回车。这里 /b 表示以二进制的方式打开图片, /a 表示以ascii码的方式打开文件 + 号表示将两个文件进行合并。
2024-06-20 13:09:04
1473
原创 网络安全 文件上传漏洞-10 第十关 Pass-10
分析代码,我们可以看到题目对我们上传文件的文件名 $_FILES['upload_file']['name'] 使用trim()去空格、str_ireplace去除黑名单中的字符串。如,deny中包含了php,这意味着当我们提交文件的文件名中包括php字符,php将会被删除。打开burpsuite监听,然后上传文件,在获取的请求头中将文件后缀名改为pphphp,然后forwad。可以看到,当php被替换后,文件中还剩下一个php后缀名。123.php ======> 123 ,然后上传。
2024-06-20 12:57:55
927
原创 网络安全 文件上传漏洞-9 第九关 Pass-09
那么我们可以利用该漏洞进行文件上传,打开burpsuite并进行监听状态,然后上传php木马文件,在获取到的请求中,将文件名后面添加两个不连续的点(点与点之间存在空格),然后点击forward提交。abc.txt........ 的输出结果为 abc.txt。而 abc.txt.. .. 的输出结果为abc.txt..与第四关的代码进行对比(
2024-06-19 09:52:02
410
原创 网络安全 文件上传漏洞-8 第八关 Pass-08
:$DATA 是Windows系统中用于存储文件数据的特殊属性,它是一种隐藏的属性,用于存储文件的实际内容。在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,并且保留::$DATA之前的文件名。),发现少了str_ireplace 操作,该操作主要是为了去除文件名中的"::$DATA"。在文件名后添加 ::$DATA 字段,并点击forward提交,发现成功上传php文件。与第四关的代码进行对比(
2024-06-19 09:42:17
222
原创 ubantu_vulhub 解析漏洞(Nginx和Apache)
安装靶机之后输入enjoy账户密码 root1234% 进入主页面对于一个文件,如果ngnix解析到php后缀名,那么该文件将会被当成php进行处理。如一张图片:abc.png/.php-> abc.png 会被当成php格式解析 (在图片访问链接的时候加上/.php后文件将以php格式解析)然后输入ifcofig,命令查看虚拟机ip地址,在本地浏览器输入虚拟机ip:8080即可访问虚拟机tomcat服务:用记事本打开webshell.png 发现木马已经成功植入:此时点击上传该图片木马。
2024-06-19 01:12:21
1244
原创 网络安全 文件上传漏洞-7 第七关 Pass-07
在文件名字符串后面加一个点 “ . ” ,然后forward提交。),发现少了deldot函数去除文件名后面的点。与第四关代码进行对比(
2024-06-18 10:30:43
441
原创 网络安全 文件上传漏洞-5 第五关 Pass-05
,发现后缀黑名单中多了 .htacess文件,表示此时不能使用修改配置的方式执行木马文件。那么我可以想到使用大小写绕过的方式提交我们的php文件,将后缀名改为PHP(Php、pHp、pHP、phP、PHp......都可以),然后点击上传。
2024-06-18 00:26:47
270
原创 网络安全 文件上传漏洞-12 第十二关 Pass-12
我们找到文件上传路径和上传文件名,此时我们需要对这两个值进行修改,对文件上传路径使用00截断,从而成功提交php木马文件,修改上传文件名为png(jpg、gif都行)格式从而通过后缀名白名单验证。这里需要注意的是 GET 型提交的内容会被自动进行URL解码,在POST请求中,%00不会被自动解码,所以我们还需要对输入的%00进行url解码操作,首先选中 %00 ,右键单击,选中Convert selection--URL---URL-decode 进行url解码。(发现%00消失是正常现象,莫慌~)
2024-06-17 12:03:19
504
原创 网络安全 文件上传漏洞-11 第十一关 Pass-11
这时,我们使用00截断的方式进行文件上传,00 截断是操作系统层的漏洞,由于操作系统是C语言或汇编语言编写的,这两种语言在定义字符串时,都是以\0(即0x00)作为字符串的结尾。操作系统在识别字符串时,当读取到\0字符时,就认为读取到了一个字符串的结束符号。因此,我们可以通过修改数据包,插入\0字符的方式,达到字符串截断的目的。对代码进行分析,在服务器获取到文件名时,首先使用substr函数和strrpos函数获取文件的后缀名。在请求头中,发现了savepath的值默认为../upload。
2024-06-17 11:54:54
394
原创 网络安全 文件上传漏洞-4 第四关 Pass-04
发现黑名单写的很完备,同时字符串的操作很严格。但是我们发现里面没有禁止 .htaccess 类型文件,.htaccess 类型文件是Apache服务器中的一个配置文件,它主要用于相关目录下的网页配置。准备号这两个文件之后,我们便可以进行文件的上传工作了,因为黑名单中不会限制png和.htaccess文件,所以这两个文件都能够成功上传。其中通过 FilesMatch 指令可以指定特定的文件或文件类型,并为这些文件设置访问权限,这里将我们刚刚存的图像的文件名写入。),发现本关的后缀名黑名单中增加很多文件类型,
2024-06-17 09:38:34
594
原创 网络安全 文件上传漏洞-3 第三关 Pass-03
除了.php类型文件之外,apache 服务器还能够使用php解析 .phtml类型文件和 .php3类型文件。总体来说对上传的文件名进行了 两端去除空格、删除文件名末尾的所有点。然后获取后缀名,对后缀名进行小写化、删除"::$_DATA:和" 和两端去空格的操作。分析源码,我们发现代码中多了一些对文件名的处理,其中 $_FILES['upload_file']['name']为上传文件的文件名(发现上传成功,右键单击复制文件地址。
2024-06-17 00:19:39
416
原创 网络安全 文件上传漏洞-2 第二关 Pass-02
接着我们发现判断代码,该代码用于判断文件的类型,当上传的文件类型为 image/jpeg 、image/image、image/png、image/gif 其中的一种时开始上传,否则保存文件类型不正确。对此,我们很直观的一个想法是,既然第二关是通过判断$_FILES['upload_file']['type'],而该值从浏览器中获取,那么我们是否可以通过修改请求头的方式提交我们想要提交的文件类型。打开burpsuite进行抓包,点击进入监听状态。分析请求头,可以看到上传文件的基本信息。
2024-06-16 12:41:34
362
1
原创 网络安全 文件上传漏洞-1 第一关 Pass-01
在获得后缀名,我们使用Indexof函数进行检索其是否属于允许上传的文件类型。如果不在,则函数返回-1,然后报错。那么我们想到,如果令下面的if语句恒不成立,那么就不会执行后面的报错代码了。我们查看代码,发现两段代码。"作为action的值,保存并打开html进行测试。该代码的主要目的是查看目标服务器的php的信息。将if判断改为 1=-1,恒不成立。点击文件上传发现没有反应。
2024-06-16 11:33:42
897
原创 网络安全 文件上传漏洞-0 实验环境部署安装
为大家介绍一个文件上传漏洞的本地实验工具upload-labs,该环境中包含了20个关卡,每一个关卡都要求在有限制的条件下上传文件。可以看到Apach服务打开,mysql服务未打开(文件上传漏洞没有用到mysql服务)此时在本地浏览器中输入 127.0.0.1 ,即可进入实验环境。然后双击phpstudy.exe,运行phpstudy。此时我们就可以使用该环境进行文件上传漏洞的学习啦!然后在本地浏览器中输入虚拟机ip,发现也可以进入关卡。当我们将实验环境部署到虚拟机中,首先查看虚拟机ip。
2024-06-16 10:17:13
676
原创 CTFSHOW 萌新 web3 解题思路和方法(两种方法)
打开链接,进入题目页面,发现代码和web2代码相比运算符过滤条件更为严格(该方式在之前的web关卡中都适用,但是前面关卡对应的解决方式最为简单。
2024-06-15 23:43:25
731
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅