自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BugKu Web渗透之 文件包含2

system("cat ../../flag")</script>,同样是上传后,通过路径查看,最后显示flag。1.尝试上传文件内容为:<script language=php>system("ls")

2025-10-24 18:27:11 616

原创 BugKu Web渗透之 never_give_up

不行,因为含有“.”,会进入到no no no中。尝试更改请求中的id参数值,也有添加 or 1=1,or 1=2,and 1=1,and1=2,发现都没变化,都是显示never never never give up。参数b的长度需要大于5,能正则匹配"111".substr($b,0,1),"1114",且substr($b,0,1)不能为4。注释的代码看起来像是base64加密的,尝试用在线base64解码,解码出来一堆%的字符串。仔细查看网页请求参数,发现id又赋值为1了,参数a和b也不见了。

2025-10-22 17:12:15 973

原创 BugKu Web渗透之 Simple SQL injection

其中更改substr中间的参数1,即为第几个字母,更改'a'中的字母,一个个匹配,当能查到新闻的时候,表示表名的第几位字母为当前测试的字母,即可获取表名为users。然后依次用用户名的高频命名去测试:user,username,name,uname等,测试,最终测试出来,第二列,名为username。使用以下语句,一个个测试,通过修改SUBSTR的中间参数和最后的'a',一个个测试,找出用户名。由于之前已经知道列数是3,那么users表中,一个id,另外两个肯定一个是用户名,一个是密码。

2025-10-21 16:45:05 1338

原创 BugKu Web渗透之 cookiesWEB

代码中显示,当cookie有margin属性,且值为margin时,并且有file在file_list中时,可以输出file的内容。我们想要的肯定是keys.php内容,于是filename的值为keys.php的base64编码。filename的值看起来像是base64编码,于是在线解码,发现解码后内容为key.txt。于是,首先把index.php进行base64编码,把编码后的值赋值给filename。于是,依次输入line的值,从0一直输入到19行,就没有显示内容了。,发现页面中的内容没变。

2025-10-20 18:32:28 662

原创 BugKu Web渗透之 文件包含

那么我们可以推测,他这个index.php就是show.php中内容。假设他可以显示包含的文件,那我们直接根目录试试flag。上面显示了index.php的字样,网址中,file=show.php。用在线base64去解码,最后解出为一段php代码。点击click me?发现是一个登陆页面,如下图所示。后来查询了下,此题还有其他解法。启动场景,打开网页。

2025-10-20 17:45:45 186

原创 BugKu Web渗透之 login1

2.返回登录页面,用用户名 “admin” 和密码 “Zz1234”去登录,最后成功登录,显示flag。1.在注册页面注册用户名 “admin ” 和密码 “Zz1234”的用户,显示注册成功。输入admin' or '1'='1,admin 提示 用户名或密码错误。输入admin' or 1=1#,admin 提示 用户名或密码错误。输入admin'-0-',admin 提示 用户名或密码错误。输入admin,admin 提示 用户名或密码错误。​:某些数据库在比较时会忽略尾部空格。

2025-10-17 17:09:29 367

原创 BugKu Web渗透 之 都过滤了

aa'-(mid((SELECT(password)FROM(admin))from(1))='a')-',提示illegal character!aa'-(mid((SELECT(passwd)FROM(admin))from(1))='a')-',提示password error!一样,用常见的表名去爆破。那么,当admin表不存在,报错时,肯定无法比较字符串是否为a,那么返回就是username error。1.输入用户名admin'-0-',密码admin,提示:password error!

2025-10-17 16:39:15 910

原创 BugKu Web渗透之sql注入

最后我使用了ddd'-((ASCII(MID(database()FROM(1))))-97)-',为了防止语句本身有问题,在写入脚本时,我先在网页上用户名输入框中测试了下,分别用ddd'-((ASCII(MID(database()FROM(1))))-97)-'和ddd'-((ASCII(MID(database()FROM(1))))-98)-'来测试,最后发现当减98时,返回的是password error。

2025-10-16 17:13:46 1307

原创 BugKu Web渗透之login2

7.于是猜测,flag是一个文件,继续回到之前的进程监控系统的页面,输入143.0.0.0 | cat flag > 6.txt,再去http://117.72.52.127:12643/6.txt页面查看,发现已经显示了flag。6.继续回到之前的进程监控系统的页面,输入143.0.0.0 | ls ./flag > 2.txt,再打开http://117.72.52.127:12643/2.txt 查看,并没有发现内容。必定返回最后数据,为 2,md5后的111。启动场景,进入页面,是一个登录页面。

2025-09-02 18:15:00 380

原创 BugKu Web渗透之no select

思路:首先自己简单手动注入,如 or 1=1之类,或者加上sleep,看是否能注入,如果不能成功,就用sqlmap去尝试。没想到 1 or '1'='1 就注入成功了。显示如下,最下面有flag。发现又是一个输入id然后提交查询的页面。结果没想到随便一试就成功了。

2025-09-01 20:00:00 197

原创 BugKu Web渗透之速度要快

再结合注释中的话:“now you have to post the margin what you find”。猜测是使用post请求,用margin参数把flag解码后的值带上的意思。发现请求包里有flag。步骤五:将flag再次解码后再放入post请求中的margin数据中。失败,flag已经刷新,还是同样的提示。步骤四:使用python脚本再次跑一次。尝试吧flag解码,用base64解码。步骤二:抓包,根据提示快速刷新页面。步骤三:把参数带上用post请求。步骤一:查看源代码。

2025-09-01 19:30:00 346

原创 BugKu Web渗透之file_get_contents

因为需要flag.txt文件中的内容与ac的参数值相同,所以ac的参数值为bugku。思路:用网站目录扫描工具扫描是否有其他文件,之后用其文件名喝文件内容作为参数去请求。整段代码大致意思是get请求中的ac的内容与fn文件里的内容一致,就输出flag。但是不会去除字符串中的空白字符。file_get_contents是将整个文件读入一个字符串的函数。再联系之前的代码,于是可以进行请求参数的拼接。一看,就觉得可以利用的是flag.txt。步骤三:依次打开扫描出来的目录。步骤四:拼接网页请求。

2025-08-29 21:00:00 356

原创 BugKu Web渗透之成绩查询

如下图所示,把红框中的内容选择后保存成一个txt文件。(注:post传参最好是将请求的所有内容保存成一个txt,之后再用sqlmap去跑会比较方便。有输入1' or '1'='1 或者 1' or 1=1# 等一些简单的,但是没有看见任何异常。在这里,看名称,我觉得带“ctf”几个字母的更有可能。红框里显示这,参数id是可以注入的。之后的红框里显示了数据库以及网页服务器的操作系统版本信息。只要是可以注入的,就可以继续进一步去爆破数据了。看表名,选择 fl4g 的表继续爆破。之后我用sqlmap去爆破。

2025-08-28 22:00:00 235

原创 BugKu Web渗透之秋名山车神

首先把那一堆计算复制,打开excel表,输入=,之后粘贴那一串计算。)将结果放入post数据中,我试过直接放入答案,也试过先写value再把答案赋值给他,但是发现不行,还是提示我“Give me value post about”。一:首先这个计算的值是很大的,我之前用excel去计算,结果他把后面的位数都直接四舍五入了。post传值是对象,而不是字符串,别“value:计算结果”这样一串过去,会报错。二:用脚本写时,字符串处理需要注意,最好打印出来,看看是否有处理错误,如果是一样的就没问题。

2025-06-13 15:04:40 468

原创 BugKu Web渗透之各种绕过哟

看代码,就是需要三个参数,其中id和uname是get请求,passwd是post请求。然后uname和passed不能相等,但是他们的sha1值需要全等于(类型也要一样),id参数的值在url解码后为margin。当然,也可以在bp中直接更改加参数,我个人觉得hacker bar更加方便。再想想,如果都是数组的话经过加密后也是Null,那么这样对比应该也是一样的,于是尝试把uname和passwd改成数组。首先因为是英文margin,所以url加密后也是margin。尝试请求,结果flag出现,如下图。

2025-06-12 17:08:53 531

原创 BugKu Web渗透之MD5

md5大家应该都清楚,是一种哈希函数,大多数用于验证数据是否一致。而 collision 是碰撞的意思。碰撞就是不同的两个值,通过函数计算,结果相同的意思。我尝试用get请求去传参,随意在后面写了一个a=333,测试结果为:false。那么我就想到了,当md5值计算结果为0e开头的,php中都判断为相等的。思考他的提示,please input a——请输入a。于是尝试找一个md5值为0e开头的。既然有返回,那说明方法是对的。我在网页上到处点了下,没发现可以输入的地方。首先,了解下哈希函数的三个特性。

2025-06-12 11:36:29 491

原创 BugKu Web渗透之前女友

如果str1小于str2则返回<0(但不一定时-1,网上好多都说是-1,是不对的,具体数值大小根据实际情况而定)。而后面的strcmp比较,我们可以用弱类型比较,就是传不同类型的值,这样在php 8.0之前会返回null,null加上!我们知道,两个值不同但是md5值相同的是用两个md5值后为0e开头的对比就行。v1=s878926199a&v2=QNKCDZO&v3=[],添加到网页后面,发现不对,flag并没有出来。v1和v2我从md5值为0e开头的中随机找了两个,v3我就写成数组[]。

2025-06-10 13:08:39 478

原创 BugKu Web渗透之你从哪里来

application/x-www-form-urlencoded : 中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)Accept-Langeuage:指出浏览器可以接受的语言种类,如en或en-us指英语,zh或者zh-cn指中文,当服务器能够提供一种以上的语言版本时要用到。Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能。告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本。

2025-06-09 18:16:04 347

原创 BugKu Web渗透之程序员本地网站

其中X-Forwarded-For 属于Http的请求头字段,他是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。需要本地访问,那么X-Forwarded-For这个字段需要设置一下。尝试在请求头加上 X-Forwarded-For:127.0.0.1。点击 send 按钮,在响应包中显示flag。直接抓包发送到bp的Repeater模块。启动场景,打开网页。

2025-06-09 17:01:20 217

原创 BugKu Web渗透之需要管理员

首先,我猜测是不是下方的IP地址。我本来还准备进行爆破的,结果没想到做出来了。看到这边显示如果$_GET[x]是密码的话,后面省略了。我们可以猜测,如果x的值是密码就可以了。于是我又猜测密码会不会是管理员,admin。一般没有上面头绪的时候,就是两步:右键查看源代码 和 扫描网站目录。一定要等到 Task Completed的提示出来,这样才是扫描完成。于是扫描网站目录,在kali中直接用dirsearch去扫描。看到扫描结果后,发现该网站有robots.txt。看起来,可以查看resusl.php。

2025-06-06 16:31:29 610

原创 BugKu Web渗透之eval

php中$ _request可以获取以POST方法和GET方法提交的数据,但是$ _request[]比较慢。hello=system(’cat flag.php‘)去请求,没有发现任何异常,点击右键查看源代码,发现flag在源代码中。之前代码已经提示我们有一个flag.php的文件,那么是否查看他,就可以找到flag了?php中有$ _request与$ _post、$ _get用于接受表单数据。当用cat不会显示在网页上时,我们试试tac,一般就可以直接显示在网页上了。用查看源代码可以看到flag。

2025-06-06 11:38:03 632

原创 BugKu Web渗透之网站被hei(仅仅是ctf题目名称)

(其实就是自己选择爆破的位数和爆破的字母和数字,一个个去组合。等了很久,终于爆破出来,密码是hack。3.Payload settings,选择最短的爆破长度 Min length 和最长爆破长度 Max length。比如最短写上4,最长写上6,那么就是爆破长度为4,5,6的密码。如果你需要用数字爆破,那么写上0123456789,如果需要小写字母爆破,就写上26个小写英文字母。shell.php这个页面需要密码,继续查看其他页面,看有没有哪个页面有写出密码的。最后结果查找长度不同的,一般就是爆破成功。

2025-06-06 09:36:19 776

原创 BugKu Web渗透之shell

其实我还用过kali自带的webshell的工具——weevely。但是同样的请求,菜刀可以连接,weevely却不行。我首先想到的是,既然已经有了assert,那我是不是在里面加上 (@$_POST['a']);点击html文件夹,发现一个写着flag名称的txt,再点击txt查看,发现里面就是flag。可是为什么明明已经有了assert我还需要加上eval去连接呢?那么他已经assert了,我们可以拼接一句话木马。拼接的网址,用菜刀来连接。但是很可惜,没有连接成功。打开网页,是一片空白。

2025-06-06 09:28:58 512

原创 BugKu Web渗透之好像需要密码

结果这个查看按钮就是提交按钮的功能,空密码点击查看,提示:“需要密码才能查看,请输入密码。”随便输入5位数密码,提示“密码错误。bp自带的暴力破解就是自定义字母和数字,然后设置密码长度范围,开始穷举,但是这样的速度很慢。在excel中输入10000,之后下拉加1,一直拉到99999,之后拷贝内容到txt,这样一个简单的数字密码字典做好了。B:在bp中选择暴力破解,直接数字0123456789,然后最小和最大长度都选择5。按照提示,5位数密码,那是否就是10000-99999呢?一看密码是12468。

2025-06-05 15:10:53 254

原创 BugKu Web渗透之bp

我们知道换行是"\r\n", 那么换行后的第一个就是开头的字母,于是我们搜索"\nz",记得要勾选扩展。然后,之前不是没有尝试五位数密码的,前面再手动+1的,我手动筛选了下,然后再在Payload processing中添加前缀“z”。由于提示写了,密码是6位数,而且以z开头的,有两种情况:一是直接长度为6,第一个字母是z的密码,二是长度为5的,并在前面加上z。然后我又直接在网页中尝试输入四个z字开头的密码,发现 zxc123 输入后,直接点击提交也是可以展示flag的。发现结果都是一样,没有长度不同的。

2025-06-04 19:38:31 684

原创 BugKu Web渗透之源代码

把拼出来的字符串,拷贝进入网页中的输入框,再点击submit。复制p1和p2的值,还有 unescape内的url编码,去解码。unescape: 对escape() 编码的字符串进行解码。感觉p1和p2都比较可疑。这样显示应该是url编码。也就是执行解码后的函数。肯定是右键查看源代码。

2025-06-03 17:08:04 208

原创 BugKu Web渗透之game1

把分数改大一点,再将分数base64编码后添加进去。改成1000也是显示失败,改成10000,9999,4000,flag都出现。但是两次分数不同,传送的sign值也不同,我感觉还是和分数有关。score分数就是当前得到的分数,sign后面有“=”,似乎是base64编码。游戏结束后,点击右键查看源代码,发现源代码很多,看来半天没有发现有用的信息。看到了,除了前面“zM”和后面的“==”,中间的就是分数进行编码后的显示。将sign用在线base64去解码,发现解出来的好像跟分数没关。点击开始游戏来看看。

2025-06-03 16:48:21 677

原创 BugKu Web渗透之本地管理员

用户和密码我进行了各种尝试。包括 test 和 123, admin 和 test123, administrator 和 test123,test123 和 test123,但是都没有结果。X-Forwarded-For:127.0.0.1.再尝试以上组合。尝试到admin 和 test123,flag出现。题目标题是“本地管理员”,提示是“IP禁止访问,请联系本地管理员登陆,IP已被记录。看见有“=”,想着大概率是base64。想着拷贝n到文件查看器,发现末尾有注释。拷贝n到文件查看器,没有发现异常。

2025-06-03 15:45:05 453

原创 BugKu Web渗透之变量1

再尝试GLOBALS变量。GLOBALS是全局变量的意思。意思是以数组的形式显示所有的全局变量。右键source view源代码,没有发现异常。首先我尝试传参args=flag。如图,打印出NULL。

2025-06-03 09:53:47 242

原创 md5加密后,以0e开头的字符串

240610708QNKCDZO。

2025-05-29 14:36:17 439

原创 BugKu Web渗透之备份是个好习惯

”或””来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。当key1和key2的md5值相等,并且key1本身不等于key2时,可以输出flag。也就是kkeyey,这样中间的key被替换成空字符串后,外面的字符串连接起来还是key。:再根据题目意思,说备份。把找到的参数放进浏览器,使用get请求参数传递,key1和key2参数需要双写绕过,之后尝试。页面是空的,右键查看源代码也是空的。

2025-05-29 14:32:04 1260

原创 BugKu Web渗透之矛盾

之后我想着用其他方法,因为他是“==”而不是“===”,两个=是弱比较,三个=是全等于。弱比较会自动换类型,所以可以用一个1开头,后面接上字符的方式,这样就自动转换成1,忽略后面的了。这段代码也很好理解,就是get方式传参num,如果num不是数字类型,那么输出num的值,并且num==1时,输出flag的值。查了下资料,说时1*e*0.1,这个让我很困惑,这个时科学计数吗?那么1应该时等于0.1E+1,为了严谨,我使用了php编辑测试。num=1||‘f’,如下图也是可以的。开启场景,打开网页。

2025-05-28 19:14:39 530

原创 BugKu Web渗透之source

config之前看过没有什么异常,于是点进logs里面去看,里面有一个HEAD文件。首先我在kali里面查看是否有dirsearch,直接在终端中输入:dirsearch。查看了HEAD和config两个文件,没有发现异常。继续查看,感觉.git的文件很可疑。看起来,第四次的flag是最像的,于是试一下,终于成功。(看到这里我以为做完了,就觉得简单,其实不然。之后在home目录下,可以看到下载下来的文件夹。一般可以进行网站的扫描,用dirsearch。一看就感觉不是的,之后复制过去也提示不对。

2025-05-28 10:12:05 701

原创 BugKu Web渗透之Post

选择后,首先load URL,再勾选下面的Post data选项,再在传参框中写上what=flag。将方法GET改成 POST,然后添加一个 Content-Type: application/x-www-form-urlencoded,之后空一行再写上传的参数 what=flag。一般get请求,我们直接添加在URL后面就行了,但是post请求一般都是在body里面的。根据代码显示,post请求传参一个what的参数,值等于flag时,将会打印出flag。之后点击send按钮,直接返回flag。

2025-05-27 16:45:53 369

原创 BugKu Web之get

那么我们直接在网址后面加上一个what参数就可以。发现前面几个web题目超级简单呀。get请求一般把参数包含在URL中。果然,输入后,flag就出来了。

2025-05-26 16:27:42 385

原创 BugKu Web之头等舱

但是burp suite把包放行后,再看响应内容,发现flag。怪不得题目叫头等舱,原来flag藏在响应头中。发现是一个get请求,请求包中并没有任何异常。启动场景,网页上只有一行字:“什么也没有”用burp suite去抓包,查看信息。

2025-05-26 16:00:46 354

原创 BugKu Web之你必须让他停下

再看看页面,其余图片不能显示,只有一张才能显示。在源代码页面不断按F5刷新,发现img的src都在变化,1.jpg,4.jpg,5.jpg等等。其中上面写着,每隔500毫秒,刷新一次,刷新时页面重载,然后显示的图片也不同。flag直接出来,完毕。

2025-05-22 16:52:10 177

原创 BugKu Web之alert

于是查看网页源代码。值得注意的是,直接右键“View page source”是不行的,因为有弹窗挡住了。这样就能查看网页源代码了。这个感觉应该就是flag了,然后是什么码呢,直接看全是数字,而且最大三位数的,就想到ascII码。再看第三个是97,97在ascII码中是小写a,那不刚好印证了是flag中的“a”吗?显示网页源代码后,顿时感叹,怪不得一直弹窗,直接alert了100多遍,一直到最下面,有个注释,我们看下:、于是找一个在线ascII转换的,将注释中内容复制过去,解码即可得到flag。

2025-05-21 16:48:13 447

原创 BUUCTF——杂项渗透之社工-进阶收集

然后根据对话内容得知,大雁塔附近有一个地铁站,该女生是最后转乘了一站才到大雁塔的,转乘之前是坐了6站,并且她坐的那站就是始发站。开始我用了各种方法,什么010editor查看呀,Stegsolve图像分析呀,tweakpng查看呀,图片的详细属性呀,都没发现异常。好了,根据这些对话内容,我查到了西安大雁塔直接就是一个地铁站,而坐过来需要转乘一站到的,只有一条线,那就是2号线。查了资料,才知道,此图片是西安大雁塔的图片,我晕倒,本人去过西安大雁塔也没看出来,看来我没有做特工的潜质呀~

2025-05-14 01:24:50 308

原创 BUUCTF——杂项渗透之USB流量截取

但是,本题,由于他不是鼠标流量提取的,所以在进行第一步的时候,它生成的outm.txt没有任何内容,所以无法向下走下去,也就无法运行mouse2.py和mouse3.py了。运行后,将在终端中打印出flag。虽然键盘流量提取已经通过了,说明这题就是键盘流量提取,但是在这里,我也把鼠标流量提取记录一遍,以便以后的查询。不过此题,我用随波逐流没有解出来,他生成了下面三个文件,但是键盘的是空的txt,鼠标则是添加了冒号。,我尝试过,同样可以打印出flag,只是分步进行,容易查看出哪一步有问题,然后进行改正。

2025-05-14 00:40:16 2098

空空如也

空空如也

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

TA关注的人

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