2021长安部分题解

2021长安杯部分WP

这次长安杯我做的是第二部分和第三部分

第二部分

检材2的IP队友给的

www.honglian7001.com

12.检材二的原始硬盘的SHA256值为:

E6873068B83AF9988D297C6916329CEC9D8BCB672C6A894D393E68764391C589

image

13.查询涉案于案发时间段内登陆服务器的IP地址为【标准格式:111.111.111.111】

192.168.110.203

根据案情描述,案发时间在4月24日

image

网探查看登录日志,固定到192.168.110.203

14.请对检材二进行分析,并回答该服务器在集群中承担的主要作用是()【格式:文件存储】

负载均衡

首先分析history

image

一个叫ADProxy.js的文件引起了我的注意

打开一看,是反向代理

image

反向代理不对,负载均衡是反向代理的一种,负载均衡更精准

15.上一题中,提到的主要功能对应的服务监听的端口为

80

image

16.上一题中,提到的服务所使用的启动命令为:

node app.js

分析history

image

[root@localhost ~]# cd /opt/honglianjingsai/chronusNode/
[root@localhost chronusNode]# node app.js
[2021-10-24 08:33:41.543] [INFO] Chronus - CLUSTER MASTER START..
[2021-10-24 08:33:41.563] [INFO] Chronus - [Master] Fork => 1
[2021-10-24 08:33:41.582] [INFO] Chronus - [Master] Online => 1
[2021-10-24 08:33:41.932] [INFO] Chronus - [Master] Listening => 1, Pid: 4255, Address: 0.0.0.0:80

并且印证了上面一题的答案

17.经分析,该服务对于请求来源IP的处理依据是:根据请求源IP地址的第()位进行判断【标准格式:9】

3

ADProxy.js分析源码,clientIP3Int=clientIPsplit(".")[2],也就是C段

image

18.经分析,当判断条件小于50时,服务器会将该请求转发到IP为()的服务器上【标准格式:111.111.111.111】

80

上面的图有,走111服务器

image

19.请分析,该服务器转发的目标服务器一共有几台【标准格式:9】

3

192.168.110.111、112、113

20.请分析,受害者通讯录被获取时,其设备的IP地址为【标准格式:111.111.111.111】

192.168.110.252

110服务器0424的日志里可以找到

21.请分析,受害者的通讯录被窃取之后,经由该服务器转发到了IP为()的服务器上【标准格式:111.111.111.111】

192.168.110.113

根据转发规则,252>100,走113

第三部分

这部分涉及检材三、五

检材三容器密码192.168.110.113

有三个E01服务器,web3就是113的服务器镜像

然后检材五需要进行raid重组,不过非常简单,把raid镜像全放到RStudio自动检测就能重组。重组完做个镜像就能仿真拿到数据库服务器了。

22.检材三的原始硬盘的SHA256值为:

205C1120874CE0E24ABFB3BB1525ACF330E05111E4AD1D323F3DEE59265306BF

确定涉案的服务器是web3,所以计算web3.E01的sha-256

23.请分析第21题中,所指的服务器的开机密码为:

honglian7001

弘连仿真只能重置密码,但是看不到以前的密码。后期PC检材能看到XShell历史连接的密码

24.嫌疑人架设网站使用了宝塔面板,请问面板的登陆用户名为:

hl123

bt default

image

25.请分析用于重置宝塔面板密码的函数名为

set_panel_pwd

百度宝塔面板重置密码脚本
image

在/www/server/panel/tools.py里

#设置面板密码
def set_panel_pwd(password,ncli = False):
    import db
    sql = db.Sql()
    result = sql.table('users').where('id=?',(1,)).setField('password',public.password_salt(public.md5(password),uid=1))
    username = sql.table('users').where('id=?',(1,)).getField('username')
    if ncli:
        print("|-用户名: " + username)
        print("|-新密码: " + password)
    else:
        print(username)

26.请分析宝塔面板登陆密码的加密方式所使用的哈希算法为

md5

上题有

27.请分析宝塔面板对于其默认用户的密码一共执行了几次上题中的哈希算法

public.password_salt(public.md5(password),uid=1))

def password_salt(password,username=None,uid=None):
    '''
        @name 为指定密码加盐
        @author hwliang<2020-07-08>
        @param password string(被md5加密一次的密码)
        @param username string(用户名) 可选
        @param uid int(uid) 可选
        @return string
    '''
    chdck_salt()
    if not uid:
        if not username:
            raise Exception('username或uid必需传一项')
        uid = M('users').where('username=?',(username,)).getField('id')
    salt = M('users').where('id=?',(uid,)).getField('salt')
    return md5(md5(password+'_bt.cn')+salt)


里面有一次md5,password_salt()又有两次md5

28.请分析当前宝塔面板密码加密过程中所使用的salt值为【区分大小写】

v87ilhAVumZL

导出/www/server/panel/data/default.db并用sqlite连接,找到密文和盐值

image

29.请分析该服务器,网站源代码所在的绝对路径为

/www/wwwroot/www.honglian7001

image

30.请分析,网站所使用的数据库位于IP为()的服务器上(请使用该IP解压检材4,并重构网

站)【标准格式:111.111.111.111】

192.168.110.115

/www/wwwroot/www.honglian7001/app/database.php

image

31.请分析,数据库的登陆密码为【区分大小写】

wxrM5GtNXk5k5EPX

32.请尝试重构该网站,并指出,该网站的后台管理界面的入口为【标准格式:/web】

/admin

image

33.已该涉案网站代码中对登录用户的密码做了加密处理。请找出加密算法中的salt值【区分大

小写】

lshi4AsSUrUOwWV

/www/wwwroot/www.honglian7001/app/admin/common.php

function password($password, $password_code='lshi4AsSUrUOwWV')
{
    return md5(md5($password) . md5($password_code));
}

34.请分析该网站的管理员用户的密码为:

security

navicat连接数据库

image

image

找到密文了,但没爆出来

后来听复盘才知道这题要在4月24日的日志里找...

/www/wwwroot/www.honglian7001/runtime/log/202104/24.log

image

35.在对后台账号的密码加密处理过程中,后台一共计算几次哈希值

3次

function password($password, $password_code='lshi4AsSUrUOwWV')
{
    return md5(md5($password) . md5($password_code));
}

36.请统计,后台中,一共有多少条设备记录

6002

image

app_user,一共6002条记录

37.请通过后台确认,本案中受害者的手机号码为

18644099137

通过IP和案发时间,定位在24号

image

然后在110服务器日志里相应时间定位。这里注意两个服务器时区的差别,一个是+8,一个是+0,从insert操作找到手机号

[ sql ] [ SQL ] INSERT INTO `app_user` (`name` , `code` , `clientid` , `login_time` , `ip` , `ipdizhi`) VALUES ('18644099137' , 123456 , 'vivo-vivoX9' , 1619246232 , '192.168.110.110' , '') [ RunTime:0.004290s ]

38.请分析,本案中受害者的通讯录一共有多少条记录

34

通过手机号在网站后台查看

image

总结

以赛促学,这些天刷了近三年的长安杯,感觉长安每年出的题质量都很高,前后检材联系,更加贴近真实案例。

但服务器这块总体感觉比19、20的长安杯要简单,因为这次差不多都能做完。

其他的靠队友带飞,名次还不错,第七名。

image

posted @ 2021-10-24 21:05  0xL4k1d  阅读(969)  评论(3编辑  收藏  举报