伪静态注入
一、概念
看似为静态页面,实则为动态页面,就称之为伪静态页面,而伪静态页面的注入就叫做伪静态注入。
通过url区分静态、动态、伪静态
动态:(有数据交互)
http://192.168,0,26/pikachu/vu1/sg1i/sgli_str.php?name=vince&submit=%E6%9F%A5%E8%AF%A2https://search,id.com/search?Keyword=%E6%89%8B%E6%9C%BA&WG=%E6%89%8B%E6%9C%BA&eV=5 122671%5E
静态:(没有数据交互(不能搜索、评论))
http://127.0.0.1:8000/jaden/index.htm1
http://127.0.0.1:8000/jaden/person.htm1伪静态:
http://127.0.0.1:8000/jaden/1/wei_news .htm1
http://127.0.0.1:8000/jaden/news/1.htm1
二、静、动态网站区别
静态网站
定义:静态网站是由纯HTML文件组成,这些文件在服务器上已经预先生成好,用户请求时直接返回给客户端。
特点:
内容固定,不随用户交互而变化。生成后不需服务器端处理,直接返回给客户端。
通常用于展示固定信息,如个人简历、公司介绍等。
性能:通常更好,因为服务器只需要提供静态文件,没有复杂的后端处理。
安全性:相对更安全,因为没有后端逻辑和数据库,攻击面较小。
动态网站
定义:动态网站的内容是在用户请求时由服务器端生成的,可以根据用户的请求和输入生成不同的内容。
特点:
内容可以随用户交互而变化。(不安全原因)
需要服务器端处理,通常涉及后端编程语言(如PHP、Python、Node.js等)和数据库。
适用于需要频繁更新或个性化内容的场景,如电子商务、社交网络、博客等。
性能:相对较差,因为每次请求都需要后端处理,可能会有延迟。
安全性:较低。动态网站需要更多的安全措施,如防止SQL注入、XSS攻击等,因为涉及到后端逻辑和数据库。
后缀:.php .asp .jsp .action .do...
三、原理
将动态网页的id等参数通过URL重写来隐藏,让查看者以为是静态网页,以降低被攻击的风险。展示出来的是以html一类的静态页面形式,但其实是用PHP一类的动态脚本来处理的。
重定向跳转,访问A网址,自动跳转为B网址。
四、辨别伪静态注入的网站
伪静态一般URL地址格式:
1. http://XX.com/php100/id/1/1
2. http://XX.com/php100/id/1.html
非伪静态一般URL地址格式:
http://XX.com/php100/test.php?id=1
伪静态是一种URL重写的技术,从而达到隐藏传递的参数以及从而达到防止SQL注入的目的。
如果看到一个以.html或者.htm结尾的网页,此时可以通过在控制台(F12或者Fn+F12)中输入:
javascript:alert(document.lastModified) |
来得到网页最后的修改时间,如果得到的时间和现在时间一致,此页面就是伪静态,反之是真静态;因为动态页面的最后修改时间总是当前时间,而静态页面的最后修改时间则是它生成的时间。