题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。
做法1:地址栏输入view-source:
做法2 : F12 source
做法3:burpsuite 拦截
题目描述:X 老师告诉小宁同学 HTTP 通常使用两种请求方法,你知道是哪两种
吗?
知识补充:
两种 HTTP 请求方法:GET 和 POST
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和
POST。
{
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据
}
先get ?a=1
后post b=2
题目描述:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。
1
2
题目描述:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!
然后下载下来一个index.php.bak的文件,note打开
题目描述:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?
抓包看见 cooike.php
然后访问cooike.php,加提示 用 F12 查看cooike响应头
题目描述:X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?
F12 控制台修改,到代码地方右键,然后编辑,把disabled删除,然后就可以点击flag了
题目描述:小宁写了一个登陆验证页面,随手就设了一个密码。
一开始以为是SQL注入,后面发现有框弹出
结合题目,发现是若口令,因为有用户名和密码,经测试只能以admin为用户名。
后面测试密码123,123456等,发现123456可以登录
题目描述:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。
先测试网站地址和127.0.0.1。 发现127.0.0.1有戏。
rtt min/avg/max/mdev = 0.036/0.040/0.044/0.003 ms
加上题目 就可以知道 是命令执行,但不是php那种命令执行引起的,因为是静态页面,所以我们只需要对输入框进行操作。
127.0.0.1 | 后面能进行linux命令,
发现执行命令,查看常见目录下的文件。
home 目录下发现flag.txt
题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
附上php代码进行分析
```php
1234){ //b > 1234 输出flag2
echo $flag2;
}
?>
根据上述分析构造payload
index.php?a=000a&b=12345b
题目描述:X老师告诉小宁其实xff和referer是可以伪造的。
一看到就是x-forwarded-for:ip
在伪造一下谷歌访问
题目描述:小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。
菜刀链接一句话木马。 密码shell
题目描述:小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )
右键查看源代码。
发现是java源代码。
<title>JS</title>
<script type="text/javascript">
function dechiffre(pass_enc){
var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
var tab = pass_enc.split(',');
var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length;
k = j + (l) + (n=0);
n = tab2.length;
for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));
if(i == 5)break;}
for(i = (o=0); i < (k = j = n); i++ ){
o = tab[i-l];
if(i > 5 && i < k-1)
p += String.fromCharCode((o = tab2[i]));
}
p += String.fromCharCode(tab2[17]);
pass = p;return pass;
}
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"));
h = window.prompt('Enter password');
alert( dechiffre(h) );
没学过java不要紧,大概看得懂意思就行。
无论输入啥,都无法跳转,然后查看源代码
“70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65”;
以为这串有用,结果没用。
尝试下一串代码,利用脚本解密
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"));
string = "\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 = string.split(",")
c = ""
for i in s:
i = chr(int(i))
c = c+i
print(c)
结果:786OsErtk12
加上flag格式。