SQL注入之伪静态注入

admin 2022年4月26日06:45:25评论1,530 views字数 1561阅读5分12秒阅读模式

一、伪静态介绍

0x01 什么是伪静态页面

          "伪静态"顾名思义就是一种表面上看似是静态网页(比如以.html、.htm等结尾),看似不存在任何的数据交互,却其实是动态网页,存在数据交互的网站,具有这种特性的网页被称为伪静态网页。我们看到的伪静态网页其实是经过处理的,将动态网页的id等参数通过URL重写来隐藏,让查看者以为是静态网页。

0x02 伪静态页面原理

 对于很多网站来说,使用伪静态页面的原因之一就是对网站的参数进行隐藏,不会将参数直接暴漏出来,这样对于一般的攻击者可能不会注意到这个页面存在漏洞。

         比如存在一个网站链接为http://www.example.com/index.php?id=1,对于这种网站,我们肯定将会习惯性的去测试SQL注入漏洞,但是如果是http://www.example.com/index/1.html这种网站呢?可能对于经验比较丰富的攻击者来说,会去尝试伪静态注入,但是对于经验不足的攻击者,他们很容易就把这个网站当成了静态页面,就不会去进行伪静态注入的尝试了。因此,伪静态注入在一定程度上也可以减少网站的攻击。

         总而言之,伪静态主要是为了隐藏传递的参数名,这只是一种URL重写的手段,为了让攻击者误以为是静态网站,但是仍然可以接受参数的传递,那么既然能接受参数输入,就仍然有可能存在SQL注入,因此,伪静态并不能防御SQL注入漏洞。

二、伪静态页面的识别

0x01 删除后缀识别

对于大部分伪静态页面来说,这些网站总是以.html或者.htm结尾,因此可以尝试删除后缀来判断是否是伪静态页面。

(1):如下是伪静态页面

SQL注入之伪静态注入

删除后缀.html后页面仍然正常,可能是伪静态页面。

SQL注入之伪静态注入

(2):如下是静态页面

SQL注入之伪静态注入

删除后面的.html,发现返回错误页面信息,可能是静态页面

SQL注入之伪静态注入

0x02 使用网站最后修改时间识别

(1):使用F12打开控制台

SQL注入之伪静态注入

(2):输入如下命令

javascript:alert(document.lastModified)

SQL注入之伪静态注入

(3):通过返回的时间来判断是否是伪静态页面

如果返回的时间是当前的时间,那么就基本上可以判断为伪静态页面了,如果返回的时间是之前的时间就可以判断为静态页面。

三、伪静态页面注入实战

0x01 手工判断伪静态注入

(1):查看原页面

SQL注入之伪静态注入

(2):去掉后缀

SQL注入之伪静态注入

页面一致,可能是伪静态页面。

(3):判断是否存在注入

①:使用数字相减来判断

显示的是数字为35的页面:

SQL注入之伪静态注入

查看36-1的页面是否是数字为35的页面

SQL注入之伪静态注入

页面显示一样,可能存在注入。

②:使用and 1=1和and 1=2判断

SQL注入之伪静态注入

SQL注入之伪静态注入

页面返回不一致,可能存在注入。

0x02 使用SQLMap进行注入

(1):使用SQLMap进行伪静态注入时需要指定注入点

sqlmap -u "http://www.example.com/index/id/1*.html" --dbs

(2):使用SQLMap进行注入

SQL注入之伪静态注入

SQL注入之伪静态注入

四、批量寻找伪静态注入网站

0x01 使用google寻找伪静态网站

inurl:php?id/1.html

SQL注入之伪静态注入

SQL注入之伪静态注入


原文始发于微信公众号(想走安全的小白):SQL注入之伪静态注入

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月26日06:45:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SQL注入之伪静态注入http://cn-sec.com/archives/886203.html

发表评论

匿名网友 填写信息