自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ prime plus-7-編程練習

【代码】【无标题】

2024-09-21 11:31:07 54

原创 C++ prime plus-6-編程練習

来读取用户输入的每个字符。这个函数会读取输入流中的下一个字符,包括空白字符,直到遇到换行符或文件结束符。如果输入的字符是'@',则使用。最后,当循环结束时,程序输出一个换行符,以便在命令行界面上开始新的一行。如果输入的字符是数字(使用。语句跳过本次循环,不进行输出。对于非数字字符,程序使用。在这个程序中,我们使用。

2024-09-21 10:56:19 63

原创 c++ prime plus-5-編程練習

【代码】c++ prime plus-5-編程練習。

2024-09-21 10:36:02 61

原创 C++ prime plus-4-编程练习

【代码】C++ prime plus-4。

2024-09-19 22:33:47 158

原创 C++ prime plus-3-编程练习

【代码】C++ prime plus-3-编程练习。

2024-09-19 21:57:46 162

原创 C++ prime plus-2-编程练习

声明,这样你就可以在不使用 `std::` 前缀的情况下使用 `cout`。1. **未包含必要的头文件**:`cout` 定义在 `` 头文件中,如果未包含这个头文件,编译器将无法识别 `cout`。3. **编译器配置问题**:在某些情况下,如果编译器配置不正确,或者使用的编译器不支持 C++ 标准库,也可能导致这个问题。在 `cout` 前使用 `std::` 前缀,明确指出 `cout` 来自 `std` 命名空间。确保在代码的顶部包含了 `` 头文件。

2024-09-17 20:16:33 431

原创 xss.haozi.me

函数内部定义了一个正则表达式 `stripBracketsRe`,它匹配所有的圆括号字符。然后使用 `String.prototype.replace` 方法和这个正则表达式来替换字符串中的所有圆括号为空字符串(即删除它们)。它接受一个字符串 `input` 作为参数,并返回一个新的字符串,其中所有圆括号 `(` 和 `)` 都被移除了。1. 限定开头: 比如, /^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A。所以,总的来说,[^>]+ 匹配了除了^的任意字符的一次或者多次。

2024-09-03 14:54:47 938

原创 ctfhub-web-ssrf-POST请求

在使用 Gopher协议发送 POST请求包时,Host、Content-Type和Content-Length请求头是必不可少的,但在 GET请求中可以没有。在向服务器发送请求时,首先浏览器会进行一次 URL解码,其次服务器收到请求后,在执行curl功能时,进行第二次 URL解码。这次是发一个HTTP POST请求.对了.ssrf是用php的curl实现的.并且会跟踪302跳转.加油吧骚年。我们尝试通过file协议读取index.php 和flag.php的页面源码。发送POST请求,得到flag。

2024-08-29 09:57:11 870

原创 ctfhub-web-综合过滤练习

&;/ cat flag ctfhub 和空格。在本关过过滤了 | &;/ cat flag ctfhub 和空格。注意 %0a是url编码所以要在url栏中执行。| 我们可以将 base64写在前面。(命令分隔符) 用%0a代替。%09代替空格(${IFS}代替空格)进入flag文件,并查询里面的内容。cat 用more 代替。f*代替flag文件。

2024-08-28 16:27:13 147

原创 ctfhub-web-文件上传

● 一般来说,配置文件的作用范围都是全局的,但Apache提供了一种很方便的、可作用于当前目录及其子目录的配置文件——.htaccess(分布式配置文件),● 提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。● 是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。只能上传.jpg,.png,.gif三种格式的文件,前端上传jpg,修改数据包进行上传。

2024-08-28 02:10:36 702

原创 ctfhub-web-基础认证

选择刚才的base64字符串,记住,不要吧basic选上了。添加完前缀,这还不够,大家还记得之前的base64吧。密码本是正常的字符串,如果有会py,且还可以的话,可以试一下重新生成密码本。这里的步骤是给我这样不会py的小伙伴,这里呢,不会py也不要紧,大家再同上一步,添加。这里选择编码,选择base64。但是切记,因为密码和用户名是base64加密的,所以有效载荷处理这里要手动处理一下。选择添加,添加前缀,这里我们假定用户名是admin,所以只需要添加前缀,,第一次没加冒号,怎么搞都不对,切记啊!

2024-08-26 22:44:03 200

原创 ctfhub-web-整数型SQL注入

语句初识解释?’是传值的意思,如果后台没有过滤,and 1=1就会被带入后台SQL语句当中去进行查询,‘and’是并列与关系,必须左右两边都为真才能有返回值,如果出现?id=1 and 1=2这种错误的语法就会报错,可以用这种方式来判断SQL注入类型--+’--‘在SQL语句中起着注释的作用,能将后面的语句注释掉,’+‘则代表空格,但是必须两者同时出现,才有注释作用,单独的’--‘不能起到注释作用。

2024-08-25 17:55:27 683

原创 ctfhub-web-json web token

在JWTHelper类的decode()中,如果输入公匙正确,并且后面的if语句正确,那么就会就会显示flag。同时 公匙要HS256加密。如果我们想要获得flag,我们发送的 token 不为空 并且发送的 cookie 为PUBLIC_KEY 也就是公码。从题目中可以知道必须要成为admin才可以得到flag,而我们是guest,所以我们可以试试把签名设置为空。注:因为采用了none算法 签名部分可以为空,header部分是定义加密算法的就可以不用。使用破解的秘钥“eqcv”,进行HS256加密,

2024-08-25 16:43:31 1009

原创 php函数

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

2024-08-16 00:36:57 319

原创 攻防世界-Web-SSRF Me

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

2024-08-09 15:25:54 230

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

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

2024-08-09 14:26:38 413

原创 攻防世界-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 348

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

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

2024-08-08 23:23:12 960

原创 XGCTF web部分wp

【代码】XGCTF web部分wp。

2024-08-08 15:17:09 211

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

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

2024-08-08 14:07:30 68

原创 sqlmap使用

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

2024-08-08 11:08:01 93

原创 bugku-web-login1

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

2024-08-04 23:45:32 183

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

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

2024-08-04 23:37:49 153

原创 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 181

原创 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 1037

原创 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 219

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

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

2024-08-04 18:32:36 727

原创 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 864

原创 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 720

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

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

2024-08-04 10:53:26 295

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

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

2024-08-04 00:26:18 232

原创 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 850

原创 bugku-web-shell

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

2024-08-03 19:34:30 277

原创 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 325

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

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

2024-08-02 16:43:18 706

原创 别人的面试题

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

2024-08-01 00:18:10 327

原创 bugku-web-ezbypass

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

2024-08-01 00:13:13 241

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

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

2024-07-30 22:40:04 251

原创 BUGKU-WEB-文件包含

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

2024-07-30 14:59:55 715

原创 BUGKU-CTF-WEB 源代码

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

2024-07-30 11:06:19 528

空空如也

空空如也

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

TA关注的人

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