攻防世界-web-新手练习区(2)

0x01simple_js

题目

攻防世界-web-新手练习区(2)_第1张图片

writeup

首先随便输入,进入页面,查看页面源代码
攻防世界-web-新手练习区(2)_第2张图片攻防世界-web-新手练习区(2)_第3张图片发现pass,尝试转换为ASCII码对应的,
攻防世界-web-新手练习区(2)_第4张图片发现是提示密码输入错误的话
然后看到fromCharCode,尝试转换为十进制,并转换为ASCII码相对应的攻防世界-web-新手练习区(2)_第5张图片攻防世界-web-新手练习区(2)_第6张图片根据题目提示的flag格式,最终得到flag为:Cyberpeace{786OsErtk12}

附~
simple_js

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) );

转换ASCII码

a=[70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65]
for i in a:
	print (chr(i),end='');

转换为十进制

s="\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" print (s);

0x02xff_referer

题目

攻防世界-web-新手练习区(2)_第7张图片

writeup

根据题目要求。ip地址必须为123.123.123.123
利用burpsuit神器~
添加下面~

X-Forwarded-For: 123.123.123.123

如图
攻防世界-web-新手练习区(2)_第8张图片攻防世界-web-新手练习区(2)_第9张图片发现新要求,必须来自 https://www.google.com

添加下面的~

Referer: https://www.google.com

如图
攻防世界-web-新手练习区(2)_第10张图片得到flag~~~

知识点

1、X-Forwarded-For
X-Forwarded-ForXFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。

一般格式:

X-Forwarded-For: client1, proxy1, proxy2, proxy3

其中的值通过一个 逗号+空格 把多个IP地址区分开, 最左边(client1)是最原始客户端的IP地址, 代理服务器每成功收到一个请求,就把请求来源IP地址添加到右边。 在上面这个例子中,这个请求成功通过了三台代理服务器:proxy1, proxy2 及 proxy3。请求由client1发出,到达了proxy3(proxy3可能是请求的终点)。请求刚从client1中发出时,XFF是空的,请求被发往proxy1;通过proxy1的时候,client1被添加到XFF中,之后请求被发往proxy2;通过proxy2的时候,proxy1被添加到XFF中,之后请求被发往proxy3;通过proxy3时,proxy2被添加到XFF中,之后请求的的去向不明,如果proxy3不是请求终点,请求会被继续转发。

伪造这一字段非常容易。像这个题,我们就是利用了X-Forwarded-For伪造了来源IP。

2、Referer
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的。

一般格式:

Referer:url

伪造这一字段非常容易。像这个题,我们就是利用了Referer伪造了来源链接。

0x03Weak_auth

题目

攻防世界-web-新手练习区(2)_第11张图片

writeup

首先尝试输入测试一下
攻防世界-web-新手练习区(2)_第12张图片结果如下
攻防世界-web-新手练习区(2)_第13张图片进入/check.php,查看源代码发先必须使用admin登录,并结合字典爆破
攻防世界-web-新手练习区(2)_第14张图片于是,使用admin尝试进行登录
攻防世界-web-新手练习区(2)_第15张图片结果如下
攻防世界-web-新手练习区(2)_第16张图片再次退回登陆页面,并打开burpsuit
攻防世界-web-新手练习区(2)_第17张图片send to Intruder
攻防世界-web-新手练习区(2)_第18张图片进入Position,首先点击clean,然后选中password的值,点击add,选择方式为Sniper
攻防世界-web-新手练习区(2)_第19张图片进入Payload,添加字典
攻防世界-web-新手练习区(2)_第20张图片点击Start attack
攻防世界-web-新手练习区(2)_第21张图片发现,当password=123456时,长度不同,查看Response
攻防世界-web-新手练习区(2)_第22张图片得到flag~

知识点
1、使用burpsuit爆破

参考:

https://blog.csdn.net/u011781521/article/details/54772795

https://jingyan.baidu.com/article/ca41422f054c881eae99eda0.html

注意~
Sniper:单个逐一进行破解
Cluster bomb:组合破解,适用于username+password

2、字典大集合

https://github.com/rootphantomer/Blasting_dictionary

3、弱密码爆破

弱密码是易于猜测的密码,主要有以下几种:

  1. 顺序或重复的字相邻字母: “111111” 、“abcdefg”、 “asdf”、“qwer”键盘上的
  2. 使用数字或符号的仅外观类似替换,例如使用数字“1”、“0”替换英文字母“i”、“O”,字符“@”替换字母“a”等;
  3. 登录名的一部分:密码为登录名的一部分或完全和登录名相同;
  4. 常用的单词:如自己和熟人的名字及其缩写,常用的单词及其缩写,宠物的名字等;
  5. 常用数字:比如自己或熟人的生日、证件编号等,以及这些数字与名字、称号等字母的简单组合。

下面是一些常见的弱密码:

admin ——太容易猜出
123 ——同上
abcde ——同上
abc123 ——同上
123456 ——由于文化因素极其常用
1234 ——同上
888888 ——同上
1234567890 ——同上
susan ——常见人名
BarackObama ——高知名度人物
monkey ——常见动物名且正好六位
password ——经常被使用,极易猜出
p@$$\/\/0rd ——简单的字母替换,易被黑客软件破译
rover ——宠物的常用名称,也是一个单词
12/3/75 ——日期
nbusr123 ——可能是用户名,如果是这样的话很容易被猜出
asdf ——常用键盘的键排列
qwerty ——常用键盘的键排列
aaaaa ——重复的字母,极易被破解
Taiwan ——地名
administrator ——太容易猜出

你可能感兴趣的:(CTF之Web)