这一天,小月正和女神聊天呢,群里一网友发来一个网址。
打开一看,是一个母婴用品专卖,百度搜索了一下,是一个著名婴幼儿用品品牌。
感觉东西挺不错,就随便看看。
随便打开一个页面,按照习惯asp?id=后面加一个单引号,页面报错,初步判断存在注入点。
本着学习的态度,打开kali,启动sqlmap,把可能存在注入的页面丢进去测试。
测试完成,页面存在sql注入。
系统为Windows 2008 R2 或 7。
使用的程序为ASP.NET,Microsoft IIS 7.5,ASP
数据库版本为Microsoft SQL Server 2008
接下来,常规操作 --dbs,爆数据库。
OK,成功爆出数据库名。
使用-D 数据库名 --tables 参数爆出数据表
使用 -D 数据库名 -T 表名 --columns参数爆数据表列名
成功爆出列名
懒得一个个看,直接使用-D 数据库名 -T 表名 --dump查看全部内容
可以看到,管理员账号为admin,而秘密为“NULL”,说明密码没爆出来。
(PS.这里的“NULL”不是它的密码,而是“空”)
尝试多种方法过后,密码依然看不了。
既然这样,试试使用弱口令登录。
然而问题又来了,怎么都找不到后台地址。没办法,那就试试前台直接登录。
提示该用户不存在!
说明后台不能从这里登录。
后台地址不知道,密码也不知道,这就让小月很苦恼。他打开音乐,离开电脑桌,倒了一杯茶,脑子里思索着其他方法。
一杯茶过后,依然没有思路。
回到电脑前,打开sqlmap,忽然想起sqlmap直接获取shell的办法,不过成功率非常低。
抱着试一试的想法,小月在键盘上飞快的敲下sqlmap -u "存在注入点的链接" --os-shell然后敲下回车
经过一分钟的漫长等待之后,奇迹发生了,成功进入os-shell>
使用whoami查看权限,人品大爆发,居然是system权限。
既然这样,直接使用net user创建一个用户,然后再加到管理员组里。
额。。。有点尴尬,果然hacker不能乱叫的,提示密码不满足策略的要求。
没事,增加密码复杂性继续来。
提示密码超过14个字符,需要输入“Y”才能继续操作,但是在os-shell里面是不能输入的。
思路到这又断了。
那就先随便看看吧。
查看网络配置。
列出目录。
查看系统用户。
查看管理员信息。
在查看管理员信息的时候,按习惯,把密码也输上去了。(这习惯得改)
结果。我TM居然把管理员密码改了。(当时就慌了,肯定被发现了)
既然犯错了,那就错到底吧。
netstat -ano查看端口,发现3389端口开着(3389远程桌面默认端口)
nslookup查看域名解析的IP地址。
然后就直接远程桌面链接。
OK,成功连接。
到此,小月任务完成,关闭电脑,对自己说今天要好好犒劳自己,说完默默地往泡面里加了根火腿肠和一个鸡蛋
(我去,这小伙飘了吧,泡面加火腿肠和鸡蛋)
对于大佬来说,渗透测试,三分靠技术,七分靠运气。对于咸鱼小月来说,九分靠运气,一分靠天意。
还是得多学习才行。
领取专属 10元无门槛券
私享最新 技术干货