黑客技巧:使用日志备份到Webshell
点评:通过注射dbowner获得壳应该不是什么难事,麻烦的是,即使使用增量备份,仍有许多不确定的因素,如果别人有什么错误的文字信息,500错误可能退出或得到一些不能使用,如何提高和可重用性的成功率如果仅从增量备份调整的方式中,则dbowner通过注射得到壳应该不是什么难事,麻烦的是,即使使用增量备份,仍有许多不确定的因素,如果有人错写什么信息可能出来或得到一些500错误不能使用,如何提高成功率和可重用性。如果仅从调整增量备份的方式,虽然有些结果是可以实现的,该方法较为复杂,效果不明显。另外的可重用性方面考虑,如多个备份的成功率,备份数据库的方法是不合适的。这里的另一种方式来做一个备份,出口日志文件到网站目录去壳。
食物要一口吃,技术问题要一一解决。的webshell首先要知道物理路径,然后其他的。有许多方式来暴露物理路径,与注射同样可以得到。这多了,不多说了。值得注意的是,如果数据库和网络分离,所以不会得到一些东西的webshell,备份可以覆盖在开始菜单中的任何文件,思想仍然是有效的,只要推广的注意。它的远离开。如果数据库和Web是一体的,那么你就有机会了。相反,用另一种方式思考。
然后你要得到当前的权限和数据库的名称。如果是系统管理员,当然,没有必要做很复杂的事情,dbowner是不够的,公众并不。开放目前有db_name图书馆()可以得到,同样是很简单的。
默认情况下,数据库故障一般选择恢复类型简单,和日志文件不能备份在这个时候。然而,我们都是dbowner,什么不可以做,只要性能的改性。因为你不能去企业管理器修改它使用一个SQL语句是很容易的,所以你可以:
修改数据库
XXXX是你的数据库的名称,你可以备份日志后执行。这样的修改是颠覆性的,因为你不知道以前的故障恢复模式是什么,并细心的管理员可能开始怀疑它。如果你能在得到数据库的状态,最好是在备份后更改数据库属性。
剩下的就是如何让数据库以最原始的方式记录数据,这相当于在备份数据库中设置表名图像的问题。如果只构建一个这样的表,日志中的日志仍然以松散的格式记录,也就是说,它没有效果。通过实际测试,它可以以类似的方式记录到备份数据库,如下所示:
创建表CMD(一个图像)
插入到CMD(a)值()
将日志备份到磁盘= 2
所以,你已经得到了一个webshell。
到处都是吗不,哦,我们继续吧。
这里有两个分支方向。第一种是在注入时没有注入单个引号。这对我来说太简单了,不能写。其次,减少webshell的长度和增加成功率。以下的方法是讨论二分的问题,这也适用于备份还原数据库。
第一个是初始化日志。
日志备份到磁盘C:XXXX = 草泥马的初始化
这是类似于增量备份的第一步,但有一点不同的是,你做了之后,可用的外壳你备份是固定的,这是很重要的,因为这一步,无论你扰乱管理员后台数据库的手里面的数据库做了什么,或者在你面前有许多坏的屁股(你想)得到的东西你不喜欢你所做的事有没有关系,甚至在别人后面再按照你的方法,还是会成功,因为偶尔的反复,如其他机器但重装数据库和代码没有改变,有不小的帮助。
然后调整备份中每个语句的顺序,通过第一个点确定近似步骤,即:
修改数据库
备份日志XXXX = C磁盘:萨米与初始化
创建表CMD(一个图像)
插入到CMD(a)值()
将日志备份到磁盘= 2
这不好,而且感觉像是没用的东西。
创建表CMD(一个图像)
这有点烦人,但有必要调整一下位置,到别的地方去。
更换订单似乎比较小。对于备份数据库,增量也是可以接受的。备份数据库只有在更新后才能进行备份。然而,由于数据存储格式的复杂性,这里没有讨论:
修改数据库
创建表CMD(一个图像)
备份日志XXXX = C磁盘:萨米与初始化
插入到CMD(a)值()
将日志备份到磁盘= 2
在成功的情况下,备份壳(2.asp以上)有78.5k,和文件的长度是80384个字节。一个非常挑剔的朋友也可以接受。当然,使用这个来创建一个干净的特洛伊木马也可以——这是顶级CS特洛伊木马的s端,这是非常一般的。