0x01simple_js
題目
writeup
首先隨便輸入,進入頁面,查看頁面源代碼
發現pass,嘗試轉換爲ASCII碼對應的,
發現是提示密碼輸入錯誤的話
然後看到fromCharCode,嘗試轉換爲十進制,並轉換爲ASCII碼相對應的根據題目提示的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
題目
writeup
根據題目要求。ip地址必須爲123.123.123.123
利用burpsuit神器~
添加下面~
X-Forwarded-For: 123.123.123.123
如圖
發現新要求,必須來自 https://www.google.com
添加下面的~
Referer: https://www.google.com
如圖
得到flag~~~
知識點
1、X-Forwarded-For
X-Forwarded-For(XFF)是用來識別通過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
題目
writeup
首先嚐試輸入測試一下
結果如下
進入/check.php,查看源代碼發先必須使用admin
登錄,並結合字典爆破
於是,使用admin嘗試進行登錄
結果如下
再次退回登陸頁面,並打開burpsuit
send to Intruder
進入Position
,首先點擊clean
,然後選中password
的值,點擊add
,選擇方式爲Sniper
進入Payload
,添加字典
點擊Start attack
發現,當password=123456時,長度不同,查看Response
得到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、弱密碼爆破
弱密碼是易於猜測的密碼,主要有以下幾種:
- 順序或重複的字相鄰字母: “111111” 、“abcdefg”、 “asdf”、“qwer”鍵盤上的
- 使用數字或符號的僅外觀類似替換,例如使用數字“1”、“0”替換英文字母“i”、“O”,字符“@”替換字母“a”等;
- 登錄名的一部分:密碼爲登錄名的一部分或完全和登錄名相同;
- 常用的單詞:如自己和熟人的名字及其縮寫,常用的單詞及其縮寫,寵物的名字等;
- 常用數字:比如自己或熟人的生日、證件編號等,以及這些數字與名字、稱號等字母的簡單組合。
下面是一些常見的弱密碼:
admin ——太容易猜出
123 ——同上
abcde ——同上
abc123 ——同上
123456 ——由於文化因素極其常用
1234 ——同上
888888 ——同上
1234567890 ——同上
susan ——常見人名
BarackObama ——高知名度人物
monkey ——常見動物名且正好六位
password ——經常被使用,極易猜出
p@$$\/\/0rd ——簡單的字母替換,易被黑客軟件破譯
rover ——寵物的常用名稱,也是一個單詞
12/3/75 ——日期
nbusr123 ——可能是用戶名,如果是這樣的話很容易被猜出
asdf ——常用鍵盤的鍵排列
qwerty ——常用鍵盤的鍵排列
aaaaa ——重複的字母,極易被破解
Taiwan ——地名
administrator ——太容易猜出