蓝奏网[Bugku]Web题解

bugku地址链接:https://ctf.bugku.com

1.web2

浏览器就显示一堆动态笑脸,时间长了密集恐惧症了。

解法1: F12查看源码

image-20200326111415096

解法2: 地址栏输入:

view-source:http://123.206.87.240:8002/web2/

计算器

考察: 前端基础知识,maxlength的使用。

前端常用F12调试更改,把值改成100突破限制即可提交结果,弹窗flag

解法1:想办法输入正确的答案,来获得flag

<input type="text" class="input" maxlength="1"/> 
改为:<input type="text" class="input" maxlength="100"/> 

image-20200326111956110

image-20200326112140301

解法2,这里多提一嘴:

(前端的代码一般都是暴露出来的,html、javascript、css)全部可以直接看到。

既然是弹窗flag,那么他写的东西可能是是javascript代码,

右键查看源代码可以看到,code.js点击链接进去就看到源码。

//发现code.js
<script type="text/javascript" src="js/code.js"></script>  

//code.js代码部分如下:
$("#check").click(function(){ 
        if ($(".input").val() == code && code != 9999) {  
            alert("flag{CTF-bugku-0032}");  
        } else {  
            alert("输入有误!");  
        }  
 });  

web基础$_GET

考察get传参: url?变量=值 url?变量1=值1&变量2=值2

$what=$_GET['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';

地址栏输入如下得到flag

http://123.206.87.240:8002/get/?what=flag

web基础$_POST

考察post传参:上传账号密码、音频文件等常用post传参

扩展:传post的方法有很多种:爬虫,postman,burpsuite,火狐浏览器的编辑重发,hackbar等等很灵活,只要能达到传post数据的目的

网页内容是如下的PHP代码

$what=$_POST['what'];
echo $what;
if($what=='flag')
echo 'flag{****}';:

示例方法1:Chrome使用hackbar传参,

image-20200326123336326

示例方法2:浏览器console中发送post

调用jquery

var s = document.createElement("script");
s.src = "http://cdn.bootcss.com/jquery/2.2.0/jquery.js";
document.body.append(s);

发送post请求参数waht:"flag",


$.post("http://123.206.87.240:8002/post/",
	{
    	what:"flag",
	},
	function(data,status){
		alert("Data: " + data + "\nStatus: " + status);
  });

image-20200326125746817

image-20200326125755312

矛盾……待更新