昨晚花了一整晚的时间找一套没有防注入的网站源码,太难找了,今天六点多就起床,终于找到了。(原谅我笨)
打开虚拟机→打开asp小旋风→将网站程序放到asp小旋风下的wwwroot目录,打开网址http://127.0.0.1/,OK,能运行。
梳理一下注入的流程:查注入点→判断是否能注入→猜表段→猜字段→爆管理员账户密码
OK,往下走。
打开本地搭的站点→随便点看看哪里能注入
只要asp?id=××这种类型的都可以试试,id是一个变量,带动数据库查询。http://127.0.0.1/NewsInfo.asp?id=65 and 1 = 1 //返回正常页面
http://127.0.0.1/NewsInfo.asp?id=65 and 1 = 2 //返回非正常页面
http://127.0.0.1/NewsInfo.asp?id=65 and exists (select * from [admin])
木有这张表,所以返回非正常页面,再试试
http://127.0.0.1/NewsInfo.asp?id=65 and exists (select * from [user])
接下来我就不一一截图拉,跟上面一样,后面的语句带动数据库查询,如果条件为真就返回正常页面,如果条件为假就返回非正常页面。
http://127.0.0.1/NewsInfo.asp?id=65 and exists (select [username] from [user])http://127.0.0.1/NewsInfo.asp?id=65 order by 5 //返回正常页面
先试一下看看页面有什么变化,返回非正常页面,看到了2、5、5这几个关键数字
Manage_User
啊D检测出三张表,既然user不是管理员的,那试试Manage_User,检测字段:检测内容···· 等了一会儿,啊D没反应了!真渣,继续手工。
真正的管理员表隐藏得很深?或者说刚刚Manage_User表中的密码没错,只是经过了另一种转换加密?
检测出来的应该是之前的密码,不知道什么原因后来的密码没有更新到数据库里。进入后台用该域名登入,修改成之前的密码,然后再猜一下字段。
我明明将密码修改成:19<5njj,怎么重新注入密码又变成这样,用MD5加密不可能是这样,难道真是用了其他的什么转换加密?
如果要查看是用什么转换加密,对于我这种没学过任何脚本语言的人来说,去翻代码读脚本代码是不可能的,这属于代码审计的内容了吧。估计要到下半年才开始刷脚本,上半年还是将重心压在软件安全上。asp数字型注入大概就是这个流程了,今天也只是了解一下流程,热热手。手工效率低就用工具,工具不够灵活就用手工。
今天是第一次模拟实战,感觉萌哒哒。现在这种普通的注入基本上没有了,大多数网站都加了防注入的代码,道高一尺魔高一丈,攻与防的博弈永不会停止,注入的手段也变得越来越高明。时代在进步,如果不奔跑的追赶,很快就被时代抛弃了。在前几年还流行的许多技术到了今年大部分都被淘汰了,发展真是太迅速了。
接下来有时间的话还会继续进行模拟实战,当然不能局限于web攻防啦,还有系统攻防。