WEB 新手篇
xctf在线场景以使用了,一直想写web题来着
001 view_scoure
- X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。
解: 查看网站源码,注释里有 flag
002 robots
- X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。
解: 在网站根目录下输入 robots.txt即可找到 flag
- 知识点
- robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。
- dirsearch.py
How to use
项目地址 github
亲测不能用也( 提示 ModuleNotFoundError: No module named 'cryptography')
在kali下使用python命令就是调用的python2,使用python3命令就是调用的python3,很方便,但是window环境可不一样,没有python3命令,只有python命令,调用的是python2,可以直接给python.exe 改名为 python3.exe即可
pip.exe 在 python 目录下的 Scripts 下载的模块在 Lib site-packges - Recursive 递归的
003 backup
- X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!
输入 index.php.bak
官方给的操作还是用 dirsearch.py 查看了.....
- 知识点
常见的备份文件后缀名有:
01 .git
02 .svn
03 .swp
04 .svn
05 .~
06 .bak
07 .bash_history
004 cookie
- X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?’
解: F12进入后,点击 Application, 左侧有 cookie,出现 look-here(cookie.php)
- 知识点
- Cookie是当主机访问Web服务器时,由 Web 服务器创建的,将信息存储在用户计算机上的文件。一般网络用户习惯用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 Session 跟踪而存储在用户本地终端上的数据,而这些数据通常会经过加密处理
- 有同志使用burpsuit做的解,但咱这burpsuit老提示 Oracle jre没测试过,不可以使用....
005 disabled_button
- X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?
解: 将disabled=""删除后,按钮可按,按下后得到flag
- 知识点
006 weak——auth
- 小宁写了一个登陆验证页面,随手就设了一个密码
解: admin 123456
又是burpsuit
007 simplePHP
<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){
echo $flag1;
}
if(is_numeric($b)){
exit();
}
if($b>1234){
echo $flag2;
}
?>
110.110.110.110/?a=0&b=1235a
008 GET&POST
HackBar:POST
hackBar 2.1.3 githb/HCTYMFF
hackbar收费了,这里是一个2.1.3的版本,在github上下载 zip包解压,在firefox中从文件中添加组件{}.xpi即可,关闭自动更新,打开方式是调试台,
009 xff_referer
- X老师告诉小宁其实xff和referer是可以伪造的。
解:
- 打开firefox和burp,使用burp对firefox进行代理拦截,在请求头添加X-Forwarded-For: 123.123.123.123,然后放包,用 burp Rpeater重发request包即可。(这里不论怎么发,Firefox的浏览页面也没有变过),但是靶机确实返回了对应的 Reponse。
- Referer: https://www.google.com(请求头里添加)
另解
用火狐的 F12->网络->请求头->编辑和重发(添加对应的那两个头即可)
另解问题
但只有第一个 XFF 起了作用,第二个服务器回包没有变化。
- 知识点
- X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。
- HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的
- http教程
010 webshell
- 小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。
<?php @eval($_POST['shell']);?>
用post方法接收变量shell,把变量shell里面的字符串当做php代码来执行。 变量shell也称为密码
所以,只要我们能通过post 方法,以 shell为变量名,值为执行代码就可以直接通过post 来操作对方的网站,菜刀也是通过这样的方法,不过他传入的代码比较复杂。
解:
- 菜刀直接连接,可以看到对方的网站目录结构,找打 flag.txt
- 另解(hackBar burp) 传递post请求
shell=system("grep -r cyberpeace ./");
shell=system("find ./ -name flag -exec cat {} ;|grep 'cyberpeace'");
011 command_execution
- 小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。
解:
127.0.0.1 |find / -name "*.txt";
找.txt后缀的文件,发现 /home/flag.txt
127.0.0.1|cat /home/flag.txt ;
其他想法:
直接输入 | ls /home 也可以,即找一找home 目录下有什么
- 知识点
windows 或 linux 下:
command1 && command2 先执行 command1,如果为真,再执行 command2
command1 | command2 只执行 command2
command1 & command2 先执行 command2 后执行 command1
command1 || command2 先执行 command1,如果为假,再执行 command2
命令执行漏洞(| || & && 称为 管道符)
12 simple_js
- 小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )
<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) );
</script>
这东西考的代码审计,难搞的很。
解出这16进制代码
\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
工具
解:
- 16进制转文本,复制文本(全部复制,粘贴自动会转化成全部数字)
- 数字转ANSII码,用python 即可。
大模型时代,文字创作已死。2025年全面停更了,世界不需要知识分享。
如果我的工作对您有帮助,您想回馈一些东西,你可以考虑通过分享这篇文章来支持我。我非常感谢您的支持,真的。谢谢!
作者:Dba_sys (Jarmony)
转载以及引用请注明原文链接:https://www.cnblogs.com/asmurmur/p/14849184.html
本博客所有文章除特别声明外,均采用CC 署名-非商业使用-相同方式共享 许可协议。