攻防世界web新手区 小白踩坑记

本文深入探讨了多种渗透测试技巧,包括源代码分析、利用备份文件、Cookie操作、弱认证破解、命令注入、PHP弱类型比较、伪造XFF头、WebShell使用、JavaScript破解等,提供了详细的步骤和实例。

001 view sourse

右键点不动,我用的是chrome浏览器,f12,在注释中找到flag
在这里插入图片描述

002 POST&GET

fiddler中拦截,直接修改webform中元素
在这里插入图片描述
执行后,提示需要用POST再发一个b=2的包
用composer功能,需要在请求消息中补充

Content-Type: application/x-www-form-urlencoded

总的如下:
在这里插入图片描述
返回消息中得到
在这里插入图片描述
cyberpeace{0a18f613f24ab16f422c516f3eff7484}

003 robots

根据题目想到robots协议,在链接后加/robots.txt
在这里插入图片描述
在链接后加f1ag_1s_h3re.php,得到flag
关于robots协议

004 backup

在链接后加index.php.bak,下载文件,用记事本打开,得到flag
常见的备份文件后缀名有: .git .svn .swp .svn .~ .bak .bash_history

005 cookie

1.fiddler:
根据提示直接查看cookie:
在这里插入图片描述
根据提示访问cookile.php:
在这里插入图片描述
查看响应头,发现flag:
在这里插入图片描述
2.chorme浏览器
才知道可以不用那么麻烦,直接浏览器就行。链接左侧可以查看cookie:
在这里插入图片描述
按f12,刷新后network中可以查看到cookie.php的响应包:
在这里插入图片描述

006 disabled_button

1.查看源码,发现disabled标签,f12开发者模式,在elements中删除该标签,按钮变为可点击状态,点击即得flag
在这里插入图片描述
2.查看源码,得知这个按钮的意思是用post方式发送auth=flag
在这里插入图片描述
在fiddler中发包:
在这里插入图片描述
得到flag:
在这里插入图片描述
知识点
disabled 属性规定应该禁用 input 元素。

被禁用的 input 元素既不可用,也不可点击。可以设置 disabled 属性,直到满足某些其他的条件为止(比如选择了一个复选框等等)。然后,就需要通过 JavaScript 来删除 disabled 值,将 input 元素的值切换为可用。

注释:disabled 属性无法与 <input type="hidden">一起使用。

007 weak_auth

随便登陆,提示用户名为admin
用admin登陆,提示密码错误。查看源代码,发现提示
在这里插入图片描述
猜测需要使用字典爆破,将登陆报文发送到intruder
在这里插入图片描述
因为已经知道用户名为admin,只需要爆破密码。标记密码部分:
在这里插入图片描述
去随便复制一个弱口令字典(我用的弱口令字典),粘贴到payload里面
在这里插入图片描述
开始爆破,发现123456的长度和其他不同
在这里插入图片描述
查看123456的响应信息
在这里插入图片描述
获得flag

008 command_execution

command1 && command2先执行 command1,如果为真,再执行 command2
command1 | command2只执行 command2
command1 & command2先执行 command2 后执行 command1
command1 || command2先执行 command1,如果为假,再执行 command2

尝试命令127.0.0.1 | ls,得到:
在这里插入图片描述
说明存在命令注入漏洞。
构造命令:127.0.0.1|find / -name "flag*"
在这里插入图片描述
构造命令:127.0.0.1|cat /home/flag.txt
得到flag
在这里插入图片描述

009 simple_php

在这里插入图片描述
大概意思是用GET方式获取两个参数a和b,当a=0和a不为0同时成立时获得flag1,当b大于1234并且b不为数字时获得flag2.
这里考察了php的弱类型比较
因为在弱类型比较下,字符串判定为0,所以可以构造a=abc
前面带数字,且不含e、E等的字符串判定为开头数字,构造b=1235a
因为要用GET方式传递参数,可以在fiddler中抓包修改,也可以直接在url后添加?a=abc&b=1235a

010 xff referer

伪造XFF头绕过服务器IP过滤
X-Forwarded-For和Referer
直接拦截请求,添加X-Forwarded-For: 123.123.123.123,提示要来自www.google.com
在这里插入图片描述
添加Referer:https://www.google.com
在这里插入图片描述
值得注意的是,发包的时候Referer应当在X-Forwarded-For后面

011 webshell

什么是webshell
PHP: eval - Manual
在这里插入图片描述

由题目可得密码为shell,使用POST方式传递
在fiddler中用POST发包,构建
shell=system('find / -name "flag*"');
在这里插入图片描述
返回信息中有flag.txt,使用cat命令打开该文件
shell=system('cat /var/www/html/flag.txt');
在这里插入图片描述
得到flag

012 simple_js

可真是苦了我这个不会js的小白了……
查看源码
在这里插入图片描述
看writeup,中间计算的那一部分无论如何都会跳到错误密码。因为js知识太弱实在是没有读懂。(不过似乎这段代码毫无用处(需要补一下js了
python 十六进制表示 0x \x
Python ASCII码与字符相互转换
0x是整型数值,\x是字符。将这串字符显示出来看,发现是一串数字,再用ascii码将这串数字转换为对应的字符串

s = "\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"
s = s.split(',')
print(s)

psw = ""
for i in s:
    psw+=chr(int(i))

print(psw)

在这里插入图片描述
根据题目要求,构造flag为:Cyberpeace{786OsErtk12}

第七题:simple_js(源代码详解)
javascript 多个变量声明

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值