目录
一、中转注入
1.原理:
攻击者先寻找网络中的可利用节点作为中转点(中转服务器,其对payload统一做加工处理:eg:编码处理等),攻击者将恶意的SQL代码发送到中转节点中。当用户与中转节点进行交互时,恶意的SQL代码就会随着正常的数据被发送到目标系统,从而绕过目标系统的部分安全防护机制,实现对目标系统的注入!
eg:获取敏感信息、控制目标设备、破坏系统等。
补充:
在Web应用中,攻击者可能通过中转节点向目标网站的输入框等位置注入恶意的SQL语句或脚本代码,从而实现对数据库的非法访问或在用户浏览器中执行恶意脚本,进而窃取用户信息等。
不同的应用场景中,中转注入的具体实现方式会有所不同,但总体上都是借助中转节点(中转服务器)来隐蔽地向目标系统注入恶意内容以达到窃取相关信息等目的。
2.注入过程:
3.实例:
在这里,中转注入并没有合适的靶场去练习演示,所以我以所听课的老师的演示为例进行大概说明:
其是以pikachu靶场的字符型注入为目标网站,在输入框输入相关数据后提交过程中间,自己编写了一个php文件作为中间节点,来进行中转注人的演示
192.168.2.130即我们所设置的中间服务器,本来我们在pikachu靶场所输入的数据是要经过其本来的处理手段向靶场提交请求,但我们在这里自己编写(所听网课的老师自己编写的)一个中间服务器(php文件),让输入的数据先经过它将数据统一化再提交。而在这里就可以进行中转注入!由于这里是借助中转点进行注人,我们并不能在最终页面看到其数据效果,大家只对中转注人理解即可!
二、伪静态注入
1.引入
在介绍伪静态注人原理之前,我们先来了解一下静态网站,动态网站,和伪静态网站
①静态网站
定义:由HTML、CSS、JavaScript等前端技术编写,每个页面均为独立的文件。用户请求时,服务器直接返回文件,无需服务器端处理或数据库交互,内容在部署后固定不变。
特点:
Ⅰ.技术简单
仅依赖HTML、CSS、JavaScript,无需PHP、Python等后端语言或数据库。 适合前端开发者或小型项目。
Ⅱ.加载速度快
服务器无需执行脚本或查询数据库,响应时间短。Ⅲ.安全性高
无数据库或服务器端脚本,减少SQL注入、XSS等攻击风险。
适合对安全性要求高的场景(如政府网站基础页面)。
②动态网站
定义:动态网站是指网站内容可根据不同情况动态生成和变化的网站,其网页内容通常由服务器端脚本语言生成,可与数据库等其他系统进行交互
特点:优点:
Ⅰ.其编程语言多样:
常使用PHP、ASP.NET、JSP等服务器端脚本语言开发,通过编写代码来实现各种功能逻辑。
Ⅱ.与数据库交互:能与数据库紧密结合,根据用户请求从数据库中读取、插入、更新或删除数据,实现数据的动态展示和管理。
Ⅲ.交互性强:
可实现用户注册登录、在线留言、购物车、评论等丰富交互功能,为用户提供个性化体验。
内容动态更新:网站内容能根据不同条件和用户操作实时变化eg:新闻网站可实时发布最新新闻,电商网站能根据库存动态显示商品信息。
缺点:
Ⅰ.加载速度相对慢:因需服务器执行脚本、查询数据库等操作来生成页面,加载时间通常比静态网站长。
Ⅱ. 服务器负载较高:处理用户请求时,服务器要进行复杂运算和数据处理,大量并发请求时可能影响性能。
Ⅲ. 安全维护
安全风险较高:因与数据库交互且有用户输入接口,易出现SQL注入、跨站脚本攻击等安全漏洞
③伪静态网站
定义:伪静态网站是指在不改变动态网站本质的情况下,通过技术(重写规则)手段将动态网址伪装成静态网址的网站。
其形似静态网址:伪静态网站的网址通常具有静态网址的形式,常以.html、.htm等常见静态文件扩展名结尾,特点:
Ⅰ.保持动态功能:
虽然网址呈现静态形式,但网站本质上仍是动态网站,保留了动态网站的所有功能,如与数据库的交互、用户交互功能等,可以根据用户的操作和不同的请求动态生成页面内容。
Ⅱ.需要特定技术支持:
实现伪静态需要在服务器端进行配置,通过重写规则将动态网址转换为伪静态网址。不同的服务器环境(如Apache、Nginx等)有不同的配置方法。
下面来介绍一下如何通过URL区分静态网站,动态网站和伪静态网站
静态:URL以.html结尾的一般为静态网站
http://127.0.0.1:8000/jaden/index.html
http://127.0.0.1:8000/jaden/person.html
动态:URL以.php或index.php或.jsp或.asp等结尾的一般为动态网站
http://192.168.0.26/pikachu/vul/sqli/sqli_str.php?name=vince&submit=%E6%9F%A5%E8%AF%A2
https://search.jd.com/search?一般来说:
.php通常用于基于PHP脚本语言开发的网站。
.asp和.aspx用于基于ASP或ASP.NET脚本语言开发的网站。
.jsp用于基于Java Server Pages开发的网站。
这些扩展名对应的网页通常需要服务器端进行处理后,再将结果返回给客户端浏览器,实现动态内容的展示。
伪静态:URL以.html或.htm结尾,且前面有数字(并不是指127.0.0.1:8000)的一般为伪静态网站
http://127.0.0.1:8000/jaden/1/wei_news.html
http://127.0.0.1:8000/jaden/news/1.html
2.原理:
伪静态页面,其实就是看似为静态页面,实则为动态页面,我们一般在伪静态页面的URL中添加注入语句来进行注人,而伪静态页面的注入就叫做伪静态注人。
注意:我们在进行伪静态注入前应先辨别其是否为伪静态网站!!!
3.实例:
由于我的电脑上并没有相关靶场可以进行伪静态注入的演示,在这里我以所听课对伪静态注入的演示为例进行相关说明:
下面是所听课老师以自己编写的一个网站为例进行的演示进行说明:
然后老师把他改写为了伪静态网站
然后拼接SQL注入语句
所以这里可以看动态访问的注人来判断是否注入成功!
在这里报错是因为服务器那边有防护机制,抵御住了伪静态注入
以上为个人在学习时的总结,如有错误,欢迎大家前来评论指正哦!!!