2021-3-28学习笔记

本文详细介绍了SQL注入的多种绕过技巧,包括内联注释、特殊运算符替代以及空格替换等。同时,阐述了SSRF漏洞的原理、危害及防御措施,并列举了常见PHP函数及URL过滤绕过方法。此外,还提到了文件上传中利用.htaccess文件进行恶意解析的手段。最后,讨论了PHP序列化漏洞,特别是如何利用公共属性绕过私有属性限制。
摘要由CSDN通过智能技术生成

一、sql

1:sql注入时如果union等关键字被过滤,可以使用内联注释(由于编辑器问题,相关详情请百度)可以绕过对union的过滤。

2:sql注入时,如果or被过滤,则可以使用”0^“来代替or的作用。

3:sql注入时空格被过滤而‘()’未被过滤,则可以用其代替空格将关键字包含起来。

4:sql注入时空格被过滤而”/**/“未被过滤,则可用其代替空格。

5:sql报错注入函数,extractvalue和updatexml只显示32位字符,当超出该范围时,可使用right(***,10),即从所查字段的右边开始显示10位字符。

6:Mysql在查询数据时,如果查询的是一个原数据表中不存在的数据,则会自动构建虚拟数据,如:

img

img

从而可以利用其构造一个虚拟身份来进行伪造真实身份,从而绕过审核机制。

二、SSRF

SSRF(服务端请求伪造)漏洞原理:一种构造请求, 由服务端发起请求的安全漏洞。一般情况下,攻击者无法直接访问到内网资源,但如果服务器存在SSRF漏洞,攻击者就可以利用SSRF攻击访问外网无法访问的内网资源。

漏洞成因:服务端提供了从其他服务器回去数据的功能,但没有对内网目标地址做过滤与限制。

危害

(1)、可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;

(2)、攻击运行在内网或本地的应用程序(比如溢出);

(3)、对内网Web应用进行指纹识别,通过访问默认文件实现;

(4)、攻击内外网的Web应用,主要是使用Get参数就可以实现的攻击(比如Struts2漏洞利用,SQL注入等);

(5)、利用File协议读取本地文件。

漏洞利用SSRF漏洞分析与利用

一般防御措施

(1)、过滤返回的信息,甚至必要情况下不返回

(2)、限制http端口,仅可使用http https

(3)、检查IP是否为内网IP,进行黑名单过滤

(4)、禁止不需要的协议,gopher,ftp,file协议等

(5)、 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。

产生SSRF漏洞的常见PHP函数:file_get_content() 、fsockopen() 、curl_exec()

绕过URL过滤方法:详情见:SSRF漏洞中绕过IP限制的几种方法总结

(1)、更改IP地址写法

(2)、利用解析URL所出现的问题

(3)、利用302跳转

(4)、通过各种非HTTP协议

(5)、DNS Rebinding

三、文件上传

.htaccess文件:是Apache服务器的一个配置文件,负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

利用

SetHandler application/x-httpd-php  #将其他所有类型文件均以php格式解析

因此,在某些网站只允许上传jpg文件时,可以先尝试上传.htaccess文件,再上传木马文件,最后通过蚁剑连接。

与之类似,但应用更加广泛的一个文件“.user.ini”,详情可见:.user.ini

四、php序列化
1:私有变量在序列化时会出现\00*\00,而公有变量变量则不会,同时,在PHP7.1以上版本对属性类型不敏感,public属性序列化不会出现不可见字符,就可以用public属性来绕过,实现漏洞利用。
2.private属性序列化的时候会引入两个\x00,注意这两个\x00就是ascii码为0的字符。这个字符显示和输出可能看不到,甚至导致截断,但是url编码后就可以看得很清楚了。同理,protected属性会引入\x00*\x00。此时,为了更加方便进行反序列化Payload的传输与显示,我们可以在序列化内容中用大写S表示字符串,此时这个字符串就支持将后面的字符串用16进制表示。
即:

O:11:"FileHandler":3:{S:5:"\00*\00op";i:2;S:11:"\00*\00filename";S:8:"flag.php";S:10:"\00*\00content";S:7:"oavinci";}

学自:网鼎杯2020[青龙组]–AreUSerialz

注:

图片转载于:[GXYCTF2019]BabySQli

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值