**
web 2 你必须让他停下
**
打开网页,扑面而来的滑稽表情,
web第一步,先看源代码
意外结果,源码中获得flag;
计算器
随机码计算器,难道这么简单?输入答案试一下 179
尴尬了,实际发现,只能输入1位,
想到可能作者在源码中做了手脚,限制了长度
看一下源码;
果然,在源码中发现,输入的最大格式被限制为 1;
改一下;
改成我们想要的
再输入试一下
web基础$_GET
顾名思义,我们想到这道题考察HTTP中get语句的用法,
变量what,如果get到flag,就输出flag
那好,如他所愿
web基础$_POST
同样,这里我们用hackbar进行post方式传参,
矛盾
如果,num得到的不是数字,却等于1,那么输出flag,
考虑到,可以用数字加字符形式,比如 1-,1+,1=
或者算术表达式
flag就在这里
打开页面,满是弹框,还好,搜狐有弹框选项
查看源码,
在响应文中发现,好多弹窗,和一串数字,&#开头,Unicode编码,
这串编码,转ASCII码,会丢失后面的括号,转中文就不会
你必须让他停下
页面一直无休无止刷新,打开burp,让他停下
逐页发送,查看源码
域名解析
题目说的很明确了
打开系统文件,修改域名解析
然后输入,试一下
文件包含
(1)a变量由$_REQUEST
变量获取,可以用GET或POST方法为hello赋值进而为$a
赋值
(2)程序并未对hello的输入进行判断过滤
(3)eval函数中执行的命令进而可以被$a的值所决定
利用hello
构造hello=file("flag.php")
或者注入语句
Eval()会将参数字符串当作命令语句执行,故利用类似单引号闭合的原理可以注入语句。构造payload如下?hello=1);print_r(file(‘./flag.php
实际效果如下,eval(“var_cump(1);print_r(file(‘./flag.php’));”);