0%

GET传参 eval执行

使用通配符绕过

前提是题目过滤的字符不多。直接使用system函数(或其他)执行命令,文件名使用通配符模糊搜索即可

若过滤了system, 还可用反字节符配合echo。如echo `cat fla*`;

阅读全文 »

文件上传漏洞

定义

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的额能力。这种攻击方式是最为直接和有效的。“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理,解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

危害

阅读全文 »

文件包含漏洞

文件包含漏洞(FIle Inclusion Vulnerability)是指应用程序中存在的一种安全漏洞,攻击者通过利用漏洞可以在应用程序中执行任意代码。文件包含漏洞通常出现在动态网页中,攻击者通过在URL中注入恶意代码,使应用程序将恶意代码作为正常代码执行。

通俗来讲,就是说开发人员开发程序的时候,每次都需要使用多个文件中的代码,很不方便。为了更方便一点,开发人员将被包含的文件设置成为一个变量,然后这样的话可以非常方便的调用这些文件。但是开发人员并没有限制用户是否也可以调用这些文件,这导致了攻击者会利用这个特征进行一些而已操作。注意这些文件包含本身没有漏洞,而是开发人员的疏忽而导致的漏洞。

利用条件

阅读全文 »

堆叠注入

平常我们注入时都是通常对原来sql语句传输数据的地方进行相关修改,注入情况会应为该语句本身的情况而受到相关限制,例如进行select语句的时候,无法进行增、删、改。但堆叠注入则完全打破了这种限制,其名字顾名思义,就是可以堆一堆sql注入进行注入,这个时候我们就不受前面语句的限制可以为所欲为了。原理就是将原来的语句构造完后加上分号。

例题

[SUCTF 2019]EasySQL

阅读全文 »

Sqlmap

常用参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--version                         #显示程序的版本号并退出
-h, --help #显示此帮助消息并退出
-u #设置目标URL
-p #指定测试参数
-D #指定要进行枚举的数据库名
-U #指定要进行枚举的数据库表
-T #枚举列的信息
-C #指定要进行枚举的数据库列
-U #指定要进行枚举的数据车用户
--current-user #获取当前用户名称
--current-db #获取当前数据库名称
--cookie #设置cookie值
--dbs #列出数据库
--tables #列出数据库中的表
--columns #列出表中的列
--dump #列出表中的字段
--sql-shell #执行SQL命令
--os-cmd #执行系统命令
--os-shell #与系统交互shell
-r #加载外部请求包
--batch #使用默认参数进行
--data=DATA #通过POST发送数据字符串
--level=LEVEL #执行测试的等级(1-5,默认为1)
--risk=RISK #执行测试的风险(O-3,默认为1)
-v VERBOSE #详细级别:0-6(默认为1)
--proxy=PROXY #使用HTTP代理连接到目标URL
--user-agent #指定HTTP User-Agent
--tamper=TAMPER #使用给定的脚本(S)篡改注入数据
--random-agent #随机的请求头!

tamper脚本

阅读全文 »

CTF中常用PHP特性总结

https://www.cnblogs.com/gxngxngxn/p/17410173.html

preg_match

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
参数说明:

$pattern: 要搜索的模式,字符串形式。

$subject: 输入字符串。

$matches: 如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。

$flags:flags 可以被设置为以下标记值:

#PREG_OFFSET_CAPTURE: 如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的)。 注意:这会改变填充到matches参数的数组,使其每个元素成为一个由 第0个元素是匹配到的字符串,第1个元素是该匹配字符串 在目标字符串subject中的偏移量。

#offset: 通常,搜索从目标字符串的开始位置开始。可选参数 offset 用于 指定从目标字符串的某个未知开始搜索(单位是字节)。
阅读全文 »