首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于SQL注入中的伪静态注入问题

问题的起因,在于一个小同学问我,他说他在找SQL注入的时候,他说:

但是我发现很多网站,已经是http://www.xxx.com/news.php/id/1.html 这种了,没有php?id=? 找不到注入点 很难受。”

我在这里,把这个问题解释下,至于他说的这种情况,我也已经教了他。

这种情况在SQL注入里被称作“伪静态注入”

原因就是,很多网站,在对网站进行设置的时候,都设置了伪静态规则。

比如就是上面的两种:

www.baidu.com/test.php/id/8.html

对于这种情况,很多初学者没办法判断,因为老师只教了在数字后面跟测试语句。

其实网站有SQL注入漏洞,设置伪静态只是看起来没有漏洞,手工测试的方法还是一样的。

我拿海南省一个高校的伪静态注入来说这个问题。

因为还没修复,很多敏感信息都要打码处理。

他的路径是这样的:http://baidu.com/index.php/news/view/id/101

他这个伪静态的规则是伪装成了文件夹的格式。

前面已经说了,伪静态,主要是为了隐藏传递的参数名,伪静态只是一种URL重写的手段,能收参数,就不一定能防住注入。

老办法,还是先报错,加个单引号,测试语句如下:

http://baidu.com/index.php/news/view/id/101'

单引号报错空白了,那么测试程序的逻辑关系,and。

and 1=1 正常 and 1=2 报错

说明程序存在注入,然后直接order by 确定长度,确定了之后可以使用联合查询 UNION SELECT+长度。

爆出准确字段后,用database()进行替换得数据库信息,最后还是按照老样子注入。

照常注入得表,另外我也说一下自动化注入的测试方法。

在SQLMap里,对于伪静态,只需要在怀疑存在注入的数字上加一个*号即可自己判断。

SQL注入的东西还有很多,要学会去学,不要认为一个php?id=? 这种注入方法就认为自己入了门,万一人家隐藏报错信息?不回显错误?盲注怎么操作你会么?

赞赏二维码

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180411G0I2M300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券