攻防世界-web-新手練習區(2)

0x01simple_js

題目

7.ti

writeup

首先隨便輸入,進入頁面,查看頁面源代碼
7.17.2發現pass,嘗試轉換爲ASCII碼對應的,
7.3發現是提示密碼輸入錯誤的話
然後看到fromCharCode,嘗試轉換爲十進制,並轉換爲ASCII碼相對應的7.4PNG7.5根據題目提示的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

題目

8.ti

writeup

根據題目要求。ip地址必須爲123.123.123.123
利用burpsuit神器~
添加下面~

X-Forwarded-For: 123.123.123.123

如圖
8.18.2發現新要求,必須來自 https://www.google.com

添加下面的~

Referer: https://www.google.com

如圖
8.flag得到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

題目

9.ti

writeup

首先嚐試輸入測試一下
9.1結果如下
9.2進入/check.php,查看源代碼發先必須使用admin登錄,並結合字典爆破
9.3於是,使用admin嘗試進行登錄
9.4結果如下
9.5再次退回登陸頁面,並打開burpsuit
9.6send to Intruder
9.7進入Position,首先點擊clean,然後選中password的值,點擊add,選擇方式爲Sniper
9.8進入Payload,添加字典
9.9點擊Start attack
9.10發現,當password=123456時,長度不同,查看Response
9.flag得到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 ——太容易猜出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章