- view source
直接翻看源碼得到flag:
- get post
兩種傳參方式,get可直接從地址欄中傳遞參數,post需要在控制檯中傳參:
接着是用post傳遞:
得到flag:
- robots
robots協議,關於爬蟲的,地址欄直接構造robots.txt,得到flag地址:
訪問即得到flag:
- backup
備份文件,構造index.php~或index.php.bak,後者可以直接下載備份文件,此題用的是後者:
打開下載的文件,得到flag:
- disabled button
打開控制檯,發現按鈕標籤被禁,刪掉即可:
點擊按鈕得到flag:
- 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) );
不用理解具體的加密匹配過程,字串:
"\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"
即是密碼(flag)
python轉碼即可:
str1='\\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(str1)
直接打印之後,得到一串數字,然後再在轉換爲字符串(flag):
list1=[55,56,54,79,115,69,114,116,107,49,50]
flag=''
for i in list1:
flag+=chr(i)
print(flag)
- simple php
得到的就是php源碼:
<?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;
}
?>
分別對a,b進行判斷,a滿足值等於0,又不能爲0;b滿足值大於1234但不能是數字。
這裏用到的是php弱類型,構造:
?a=0+''&&b=1234a
其中,a的值只要是0+任意字串即可,b只需要在任意大於1234的數值後加任意字符即可:
flag到手。