web入门题单
链接
view_source
使用F12即可查看源码得到flag
get_post
“请用GET方式提交一个名为a,值为1的变量“
可以直接在url上补一个/?a=1,直接在浏览器改url传参是使用的get方法
post方法一般是提交表单时使用,这里我们可以使用curl这个工具
curl -d "b=2" http://223.112.5.141:57025/?a=1 |
我们也可以使用requests库
import requests |
倒数第三句是中文编码问题
robots
robots协议也称爬虫协议、爬虫规则等,是指网站可建立一个robots.txt文件来告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,而搜索引擎则通过读取robots.txt文件来识别这个页面是否允许被抓取。但是,这个robots协议不是防火墙,也没有强制执行力,搜索引擎完全可以忽视robots.txt文件去抓取网页的快照。 [5]如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。
robots协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。
简单来说,这个东西告诉了爬虫程序什么可以爬什么不能爬,但是效力几乎没有。
我们可以访问这个文件来查看都有什么文件。
http://223.112.5.141:51424/robots.txt |
显示:
User-agent: * |
这告诉我们有一个php文件,我们可以访问,访问即可得到flag。
backup
提示”你知道index.php的备份文件名吗?”
搜了一下,可以尝试一下/index.php.bak
果然一下就得到了备份文件,flag就在里面
cookie
我的理解是这样的,网站告诉用户浏览器需要保存一个票据,下次你可以拿着这个票据告诉我,这样我就能知道你谁了。
gpt回复的:
| 功能 | 说明 |
|---|---|
| 会话管理(登录状态) | 让用户登录后,服务器识别你的身份,保持登录状态 |
| 个性化设置 | 记住用户偏好,比如语言、主题、布局等 |
| 跟踪和分析 | 网站用来收集访问行为,做用户分析或广告投放 |
在下一次浏览器向网站发送请求时,就会带上这个cookie参数。
这个题的话我们就可以使用F12中的network抓一下包,看一下cookie内容。
cookie告诉我们有个cookie.php,我们访问一下,提示说看一下http response。
我们再看一下F12的Network里面回复头,可以看到有一个参数就是flag。
disabled_button
按下F12查看一下源代码,可以看到html里面关于按钮有一个disabled属性
<input disabled class="btn btn-default" style="height:50px;width:200px;" type="submit" value="flag" name="auth"> |
F12可以自由修改前端代码,我们把这个disabled删掉就可以按下按钮得到flag了。
simple_js
唐氏题目
function dechiffre(pass_enc){ |
上面一大段都没用,怎么都会返回错误提示字符串,就是
String["fromCharCode"](dechiffre("\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")); |
这句代码将里面的东西丢进cyberchef转换一下就能得到flag。
xff_referer
狠狠学习了一下burpsuite使用
burpsuite有内嵌浏览器,这样就不必修改代理了
首先学习一下知识点
X-Forwarded-For和Referer都是HTTP请求头的字段
X-Forwarded-For(简称 XFF)是一个 HTTP 请求头部字段,它用于表示 HTTP 请求的客户端 IP 地址。
Referer 是另一个 HTTP 请求头部字段,它包含了当前请求的来源页面 URL 地址,即前一个页面的 URL 地址。
burpsuite可以实现抓取流量包,然后修改内容重放。
我们在“代理”中可以打开内嵌浏览器,然后在这个浏览器中访问网址。
在”HTTP历史记录”中,我们可以找到发送的包。在发送的包上右键选择”发送到repeater”,然后在重放器中修改字段,点击发送即可。
GET / |
weak_auth
使用burpsuite进行爆破
用户名是admin(提示给出),密码不清楚
在burpsuite中的内嵌浏览器中,使用admin和123来登录一下,抓取一下流量包
将请求包发送至Intruder并添加Payload位置,选择Sniper模式
在payload设置中选择一些列表,然后”开始攻击”
之后就可以看到不同的payload的响应报文长度,可以看到
“123456”的相应报文长度与其他的不同,点开即可得到flag
之后再具体学习一下
command_execution
命令执行漏洞
当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。如PHP中的system,exec,shell_exec等,当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常命令中,造成命令执行攻击。
在操作系统中,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令
A&&B,表示A命令语句执行成功,然后执行B命令语句
A&B,表示简单的拼接,A命令语句和B命令语句没有制约关系
A|B,表示A命令语句的输出,作为B命令语句的输入执行
A||B,表示A命令语句执行失败,然后才执行B命令语句
A;B,表示先执行A,再执行B
127.0.0.1 && find / -name "*.txt" |
使用find查找txt后缀的内容
找到/home/flag.txt
127.0.0.1 && cat /home/flag.txt |
之后就可以得到flag
下面是问gpt得到的查找所有带flag字样的文件
find / -type f -name '*flag*' |
simple_php
|
考察php的类型比较机制
要求$a==0 and $a
这个判断是关键点之一,拆解逻辑如下:
$a == 0:弱类型比较,只要$a在弱比较下等于数字 0。$a:布尔上下文中为 true,也就是说$a的布尔值为 true。
可以让$a = "0abc";
又要求
is_numeric($b) $b>1234 |
可以让 $b="1235abc"
http://61.147.171.105:52300/?a=0abc&b=1235abc |
即可得到flag










