自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 php函数

函数getimagesize()函数,该函数用于获取图像的大小和相关元数据。成功调用将返回一个包含图像信息的数组,失败则返回FALSE并抛出E_WARNING级别的错误。move_uploaded_file() 函数将上传的文件移动到新位置。若成功,则返回 true,否则返回 false。语法参数 描述file 必需。规定要移动的文件。newloc 必需。规定文件的新位置。说明。

2024-08-16 00:36:57 306

原创 攻防世界-Web-SSRF Me

【愚公系列】2023年06月 攻防世界-Web(题目名称-SSRF Me)-CSDN博客【愚公系列】2023年06月 攻防世界-Web(easy_web)_easyweb 模板-CSDN博客

2024-08-09 15:25:54 204

原创 利用.user.ini构建php后门

利用.user.ini构建php后门-CSDN博客

2024-08-09 14:26:38 404

原创 攻防世界-web-ctf-upload

这个文件是php.ini的补充文件,当网页访问的时候就会自动查看当前目录下是否有.user.ini,然后将其补充进php.ini,并作为cgi的启动项。其中很多功能设置了只能php.ini配置,但是还是有一些危险的功能可以被我们控制,比如auto_prepend_file。本题需要利用文件上传漏洞点,通过绕过服务器的安全防护,达到getshell的目的。本题的主要考点为利用fastcgi的.user.ini特性进行任意命令执行。上传.user.ini,内容为。上传.user.ini。这里需要绕过的点如下。

2024-08-09 10:37:24 322

原创 攻防世界web进阶ics-05

(1)利用php内置filter协议读取文件的代码(2)伪造IP(3)preg_replace()函数的/e漏洞(4)正确的php system()函数的书写。

2024-08-08 23:23:12 947

原创 XGCTF web部分wp

【代码】XGCTF web部分wp。

2024-08-08 15:17:09 206

转载 SQL注入常见类型及注入点的判断

数据库是不会存在username为NULL的字段的,所以第一句返回的是失败,第三句中,因为password是我们随便输入的,99.99%是不会存在这个密码的,于是AND之后,我们的第三句也是失败的,所以整个语句返回失败的。当然,如果后面改成了1=2的话,因为1=2是不成立的,and语句的判断逻辑是只要有一个不成立,就返回失败,所以1=2最后会返回的是失败。这里我们第一句是返回失败的,但是我们的第二句''=''是返回成功的,OR逻辑是有一个是成功就返回成功,于是我们的整个语句就会返回成功。

2024-08-08 14:07:30 32

原创 sqlmap使用

SQLmap使用教程图文教程(超详细)-CSDN博客

2024-08-08 11:08:01 91

原创 bugku-web-login1

看到这种登陆界面,一般先要注册一个账号以便把每个页面都浏览一下,那我们先试试admin,发现账号已存在……某一次注册时自己又用了一个似乎之前注册过的账号(注册次数太多?这其中必定有诈.jpg。还有一个可以利用的地方就是SQL在执行字符串处理的时候是会自动修剪掉尾部的空白符的,也就是说"abc"=="abc ",同样我们可以通过注册用户名为"abc "的账号来登陆"abc"的账号。题目中说的是约束攻击哎~那就试着用"admin "注册了一个账号,用这个的密码登陆"admin"账号,然后就看到了flag~

2024-08-04 23:45:32 178

原创 bugku-web-字符?正则?

{4,7}是按最少四次最多七次来进行匹配,也就是匹配长度为5~8的字符串。pattern指的是要搜索的模式,subject指的是输入字符串。**是匹配位于“*”之前的字符或子模式的0次或多次出现。trim() 函数移除字符串两侧的空白字符或其他预定义字符。所以构造keykey*****(或别的只要达到要求)所以构造key:/a/(或别的,例如key:/5/)[a-z]字符范围,匹配指定范围内的任何字符。. 是匹配除换行符以外的任意单个字符。\表示位于\之后的为转义字符。所以可以构造keykey。

2024-08-04 23:37:49 146

原创 BUGKU-web-程序员本地网站

X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的 请求端真实的IP ,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。通过名字就知道,X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。HTTP 连接基于 TCP 连接,HTTP 协议中没有 IP 的概念,只能通过X-Forwarded-For来实现。

2024-08-04 22:49:59 174

原创 bugku-web-ctf-md5 collision(md5碰撞)

题目来源:南京邮电大学网络攻防训练平台 Web题collision解题过程:这段代码什么意思呢?首先,变量md51的值是经过md5加密的字符串QNKCDZO,字符串QNKCDZO经过md5加密之后的值为:0e830400451993494058024219903391。之后的变量a,分析源代码可知,如果a的值不为QNKCDZO,并且md5的值也为0e830400451993494058024219903391,则会输出flag。

2024-08-04 22:35:47 964

原创 bugku-ctf-前女友

我们需要构造三个参数,v1,v2,v3,其中v1和v2需要值不同但md5的值相同,看起来是找md5碰撞的问题,但是问题却不在这里,利用md5函数的特性,如果使用一个不可md5的数据类型传入的话那么md5函数将返回false,这个也是返回值,题目要求的是md5函数的返回值相等,所以就可以用两个值不同但不可md5的数据类型传入即可。那么如何出错呢,猜测不可比较时出错,那么传入一个数组试试,所以最后构造参数并用get方法传入。v1[]=1&&v2[]=2&&v3[]=3,得到flag。

2024-08-04 18:53:41 209

原创 BUGKU-WEB 备份是个好习惯

”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。攻击者可以利用这一漏洞,通过输入一个经过哈希后以”0E”开头的字符串,即会被PHP解释为0,如果数据库中存在这种哈希值以”0E”开头的密码的话,他就可以以这个用户的身份登录进去,尽管并没有真正的密码。方式二:md5()函数无法处理数组,如果传入的为数组,会返回NULL,所以两个数组经过加密后得到的都是NULL,也就是相等的。

2024-08-04 18:32:36 699

原创 Bugku-CTF-聪明的php

传递一个参数,可能标记文件的文件名是随机的:于是传一下参,在原网页后面加上/?a=1,发现网页出现了变化3.传入参数,一般情况下是文件包含,或者命令执行,而这道题目比较新颖,使用的是php模板注入4.根据测试2*4=8,确定是smarty模板注入测试phpinfo()函数5.真的是百密一疏,过滤了好多的函数,好在没有把过滤6.没有发现flag,但是发现_12016文件,直接读一波,cat被过滤了,我是用的是more得到flag。

2024-08-04 18:18:43 847

原创 bugku-web-never_give_up

eregi(“111”.substr($b,0,1),“1114”):eregi已经被弃用(有漏洞,这里利用的就是这个漏洞,称为0x00漏洞,或者%00漏洞),小数点是作为拼接使用,而这里语句表示111和$b 中提取的第一个字符拼接,形成一个新的字符串,然后和1114匹配,匹配的话,则返回 true,否则返回 false。$id==0,和0弱比较为真,先尝试传参id=0,发现页面会自动跳成id=1,所以,既然0不能用,那和0弱比较为真的就是字符串了,id=输入字母。=4,进一步限制,提取拼接的不能是4.

2024-08-04 12:07:28 716

原创 bugku-web-xxx二手交易市场

4. 编码后的数据比原始数据略长,为原来的4/3。因为:三个字节有24个位元,就可以刚好对应于4个Base64单元,即3个字节需要用4个Base64的可打印字符来表示。base64,为头部信息,其余为图片编码。对注释字符进行了过滤,无法闭合,sql注入点不存在。打开题目,点击进入链接,是一个二手交易市场平台。加密一下,提换掉后面的一长串,然后改一下后缀为。是 URL 编码中正斜杠(/)的编码形式。是 URL 编码中冒号(:)的编码形式。响应了上传的马路径,蚁剑连一下,成功。看看头像上传,上传文件,抓包。

2024-08-04 10:53:26 291

原创 bugku-web-秋名山车神详解

re.findall中正则表达式(.*?re.search中正则表达式。

2024-08-04 00:26:18 205

原创 bugku-web-成绩查询

先测试:输入1,2,3分别能查到1,2,3号学生的成绩;输入1’返回异常,输入1’–+返回异常,输入1’ #或者1’-- +返回正常(所以可以断定sql语句的形式是id = ‘input_id’。然后爆表:通过使用 id=-1’ union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database()# 得到表名:fl4g,sc。注意要加上 --data=“id=1”

2024-08-03 20:34:34 817

原创 bugku-web-shell

进入场景看看:是一个空白的界面。

2024-08-03 19:34:30 273

原创 bugku-web-No one knows regex better than me

对于first参数来说,要包含(“|.php”)字符串,first参数字符的形式是xxxx|.php(因为从第5个字符截取),而xxxx必须得是字符串"Yeedo"、“wants”、“a”、“girl”、“friend”、“or”、“a”、"flag"中的字符,所以可能是aaaa、oror、girl三种可能,也就是:aaaa|.php、oror|php、girl|php。要匹配字符串"Yeedo"、“wants”、“a”、“girl”、“friend”、“or”、“a”、"flag"中的字符。

2024-08-03 18:41:34 318

原创 RCE(远程代码执行漏洞)原理及漏洞利用

一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。如果,设计者在完成该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交“意想不到”的命令,从而让后台进行执行,从而控制整个后台服务器。因此,如果需要给前端用户提供操作类的API接口,一定需要对接口输入的内容进行严格的判断,比如实施严格的白名单策略会是一个比较好的方法。一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口。

2024-08-02 16:43:18 652

原创 别人的面试题

说了自己漏洞盒子挖了两百多个洞,80%都是sql注入,然后顺便说自己的是怎么挖的,我说我是自己用python写脚本poc去挖的,,还间接表达了自己的编程水平。很简单,基本上都能答上来,无非就是子域名,端口,资产信息,也可以github找资料,有没有泄露邮箱,放社工库啥的,后面就是web的漏洞挖掘和利用,getshell之后就到后渗透的流程。信息收集,找到框架,中间件,cms的版本,脚本语言用的什么,端口,服务等等。常规操作,信息收集,漏洞挖掘,漏洞利用,后渗透,权限维持,清除日志,生成报告,给出修复方案。

2024-08-01 00:18:10 321

原创 bugku-web-ezbypass

毫不夸张的说这道题目解题的思路比较新颖,使用了自增的方式,当然一提到自增,你可能就会想起程序设计中的i++,++i,其实这样理解的话,也没什么问题,但是真正有趣的就是,这里直接自增的是字符串里的字母,我就是一个字符一个字符的调的,我还是相信那就话,慢就是快。原文链接:https://blog.csdn.net/m_de_g/article/details/138110100。

2024-08-01 00:13:13 233

原创 BUGKU-WEB-好像需要密码

如果点击start attrack 后出现 Payload set 1: Invalid number settings 的提示,先点hex 后点 decimal 再开始start attrack,这是一个软件bug,需要手动让它刷新。

2024-07-30 22:40:04 227

原创 BUGKU-WEB-文件包含

convert.base64-encode:是一个过滤器,看到encode可以知道这是一个加密的过滤,那自然就有convert.base64-decode,解密了。可以看到,说是这个参数可以不选,在PHP伪协议中,read是一个用于读取文件内容的操作符。如果不进行 base64 编码传入,index.php 就会直接执行,我们就看不到文件中的内容了。这样做的好处就是如果不进行编码,文件包含后就不会有输出结果,而是当做php文件执行了,而通过编码后则可以读取文件源码。read操作符将返回指定长度的文件内容。

2024-07-30 14:59:55 706

原创 BUGKU-CTF-WEB 源代码

最后,通过 document.getElementById() 方法获取 id 为 “levelQuest” 的元素,并将函数 checkSubmit() 赋值给其 onsubmit 事件,这样当表单被提交时,会调用函数 checkSubmit() 进行验证。如果变量 a 被定义,进一步判断变量 a 的值是否等于 “67d709b2b54aa2aa648cf6e87a7114f1”,如果是,则表示验证通过,返回 true,表示可以提交表单。eval 是运算函数,也就是将p1和54aa2以及p2拼接起来。

2024-07-30 11:06:19 520

原创 bugku-web-source

kali中先用dirsearch工具扫描后台目录,然后用wget -r url/.git命令递归下载后,进入txt文件使用git reflog命令然后只用git show查看作者提交flag日志,用git show 一个一个去尝试,很多假的flag。是一个 Git 命令,用于显示你的 Git 仓库的引用日志(reflog)。引用日志是一个记录了所有分支和标签更新的日志,包括提交、分支创建、分支删除、标签创建、标签删除、合并、重置等操作。此外,引用日志的大小是有限的,旧的条目最终会被新的条目覆盖。

2024-07-30 00:13:32 295

原创 bugku-web-ctf-变量1

$args====>我们可以猜想$args很有可能是一个数组,应该想到的就是超全局变量$GLOBALS。他是用存储全局变量的,全局变量的值在这个超级全局变量里面是一个键值,相当于hashmap的键值对。eval()这个函数的作用是字符串里面的php代码按正常的php代码被执行。这个文件可能包含一些变量定义或其他代码。不符合预期的模式,脚本将终止执行并输出错误信息。是一个超全局数组,包含了GET请求的参数。是一个魔术常量,它返回当前文件的路径。变量的值来确定要输出的变量名。是一个变量的引用,它将根据。

2024-07-29 23:51:12 441

原创 Bugku-ctf-web-eval

是 PHP 中一个非常有用的函数,用于输出一个或多个表达式的类型和值。这个文件可能包含一些配置信息或其他代码,但是没有提供这个文件的内容,所以无法确定它的作用。的输出通常是易读的,但不是格式化的 HTML。如果变量是数组或对象,它还会递归地显示其内部结构。主要用于调试,但它实际上也会返回输出的字符串,但通常这个返回值被忽略了。是开发者在开发过程中常用的调试工具之一,尤其是在不确定变量内容时。的参数,无论它是通过GET、POST还是COOKIE发送的。可以接受多个参数,并且会依次输出每个参数的类型和值。

2024-07-29 23:30:58 396

原创 bugku-web-game1

1.游戏类的一般都是通过修改分数来的,要嘛改高(999999) ,要嘛改低(-999999)2.控制分数的参数可能不止一个,如果有加密的就得尝试解密。一般就多试几次,找到因分数不同而改变的参数,然后对该参数进行分析。

2024-07-28 14:16:10 136

原创 CTF——web总结

ps:正常的应该是先扫描目录,然后发现后台进行爆破,发现爆破困难,然后去社工找其他信息。

2024-07-28 14:13:19 161

原创 bugku-web-cookies

定义了一个文件列表数组$file_list,包含了两个默认的文件keys.txt和index.php。如果COOKIE中存在名为’margin’的值,并且该值为’margin’,则将一个名为’keys.php’的文件添加到文件列表中。也就是cookie值为margin时显示keys.php内容。我想不到要改keys.txt成index.php(base64加密格式:aW5kZXgucGhw==)进来以后看到一个巨长的字符串, 源码同样,发现url后面是base64编码解码得keys.txt。

2024-07-28 12:29:59 227

原创 Bugku-web-get,post

让我们看看代码,先get获取what参数变量,如果what变量==‘flag’,输出flag。接着修改相关参数,这里因为是post传参,需要先将GET改为POST,再加上一个消息头。打开repeater并send,flag就到手啦!最后右键选择 Send to Repeater。该题为GET传参,可直接在url后面加参数。(4)提交what=flag的Post请求。(1)F12,打开HackBar。(2)将url输入并load。(3)选中Post data。最后最关键的是在数据部分加入。

2024-07-28 10:59:27 317

原创 bugku-web-Simple_SSTI_2

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可生成特定格式的文档,利用模板引擎来生成前端的html代码,模板引擎会提供一套生成html代码的程序,然后只需要获取用户的数据,然后放到渲染函数里,然后生成模板+用户数据的前端html页面,然后反馈给浏览器,呈现在用户面前。其影响范围主要取决于模版引擎的复杂性。此外,也可以这样{{ config.__class__.__init__.__globals__['os'].popen('ls').read() }}

2024-07-27 23:24:44 936

原创 未授权访问

未授权访问:Rsync 未授权访问漏洞_rsync未授权-CSDN博客

2024-07-17 12:39:10 110

原创 DOM型XSS(跨站脚本攻击)的自动化测试和人工测试方法

它包含预定义的XSS payload集合,并采用多线程处理以提高效率,能够检测反射型、存储型以及DOM型XSS漏洞,并生成详细的报告。:使用如腾讯安全平台部提出的门神DOM-XSS防御JS等方案,通过JavaScript代码实现客户端防护,提高常见DOM XSS攻击的门槛。:通过浏览器的开发者工具,如F12,检查页面的DOM结构,尝试修改DOM元素的属性或内容,观察是否触发XSS。:分析Web页面的JavaScript代码,特别是那些动态生成HTML的部分,以查找可能的XSS漏洞。

2024-07-16 11:53:49 365

原创 Super-Mario-Host(超级玛丽)靶机

VulnHub super-Mario-Host超级马里奥主机的渗透测试过程_靶机super mario host-CSDN博客

2024-07-16 09:41:55 404

转载 判断一个网站使用CMS对渗透测试有什么意义

通过了解目标网站所使用的CMS,渗透测试人员可以针对该CMS的特定漏洞进行深入研究和开发攻击脚本。确定网站使用的CMS有助于收集更准确的目标信息,并为后续测试活动提供更多的线索。常见的CMS包括WordPress、Drupal和Joomla等,它们被广泛用于创建和管理各种类型的网站,从个人博客到企业门户网站都可以使用CMS进行构建和维护。用户权限管理:允许管理员为不同的用户分配不同的权限和角色,控制其对网站内容的访问和编辑权限。模板和主题管理:提供预定义的模板和主题,使用户能够自定义网站的外观和布局。

2024-07-15 20:31:53 37

原创 渗透测试之提权基础

攻击者在攻击服务器时,使用远程溢出这种溢出攻击这种攻击手段是比较少的,服务器通常都打了漏洞补丁,这样旧的溢出漏洞一般不会再起作用,而新的溢出漏洞少之又少,可以说远程溢出漏洞已经"日落西山"了。本地溢出提权首先要有服务器的一个用户,且需要有执行的权限的用户才能发起提权,攻击者通常会向服务器上传本地溢出程序,在服务器端执行,如果系统存在漏洞,那么将溢出root权限。远程溢出提权是指攻击者只需要与服务器建立连接,然后根据系统的漏洞,使用响应的溢出程序,即可获取到远程服务器的root权限。

2024-07-13 20:55:56 248

空空如也

空空如也

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

TA关注的人

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