1.手撕CTFHub-Web(七):RCE
2.CTF篇(攻防世界)
3.求pr教程
4.盘点那些渗透测试中的菜刀菜刀奇*技巧
手撕CTFHub-Web(七):RCE
在深入探讨 RCE(远程代码执行)的实现过程中,我们首先聚焦于 PHP 中的源码源码 eval 函数。eval 函数允许执行 PHP 字符串,菜刀菜刀通常通过接收 POST 或 GET 方法提交的源码源码数据,如 cmd 参数。菜刀菜刀这允许执行如 `system('ls')` 这样的源码源码CryptoJS源码命令,以查看当前目录。菜刀菜刀然而,源码源码没有对输入进行过滤,菜刀菜刀这直接导致了攻击者可以连接到菜刀(web shell)服务器。源码源码
当在根目录发现 flag 文件时,菜刀菜刀我们注意到一个名为 shell.txt 的源码源码一句话木马文件。通过接收 file 参数并利用 strpos 函数,菜刀菜刀我们可以绕过对 flag 文件的源码源码直接包含限制。构造请求 `?菜刀菜刀file=./shell.txt` 来包含 shell.txt,并使用菜刀连接,我们得以在根目录下获取 flag。
接着,我们转向 PHP://input 的可控 系统彩 源码概念,它允许将 POST 请求中的数据作为 PHP 代码执行。构造 `?file=php://input` 的请求并提交 POST 数据,我们可以执行命令并从根目录中找到 flag 文件。
远程包含提供了一种通过外部服务器的包含命令执行代码的方法。通过在 file 参数中填写自己的服务器上的包含一句话木马的 txt 文件地址,我们可以绕过服务器端的限制,直接在根目录下找到 flag。
在尝试直接读取源代码时,发现与 PHP://input 类似的问题。根据题目描述和提示,我们猜测使用 PHP://filter 协议可以读取 flag 文件。构造请求 `/?file=php://filter/read=convert.base-encode/resource=/flag`,读取 flag 文件的 base 内容,然后对得到的内容进行 base 解码以获取 flag。
进入命令注入的探讨,exec 函数用于执行 cmd 参数指定的命令,并将执行后的返回状态写入 res。尽管尝试使用管道符|连接命令,java 淘宝客 源码但没有返回任何内容,可能是因为存在无法显示的字符。使用 base 编码并导出命令后,解码得到 flag。
面对 cat 命令的过滤,我们使用连接符''、\ 或 $@ 来绕过过滤,构造命令 `.0.0.1|ca''t ./ flag_.php|base`,获取 base 编码后的内容并解码得到 flag。
过滤空格的处理中,我们使用连接符`<`构造命令 `.0.0.1|cat<./flag_.php|base`,获取 base 编码后的内容,解码后得到 flag。
目录分隔符的过滤处理需要特别注意,使用分号`;`来分割命令。由于 `/` 被过滤,我们先用 `cd` 进入 flag_is_here 文件夹,然后用 `cat` 读取 flag 文件 flag_.php。仓库管理c 源码构造命令 `.0.0.1;cd flag_is_here;cat flag_.php` 获取 flag。
运算符的过滤包括 |、& 和 ||,通过使用分号`;`来分隔命令,我们绕过了这些过滤。构造命令 `.0.0.1;cat flag_.php` 并查看源代码页面以获取 flag。
综合过滤练习要求我们整合多种技术,以应对复杂的过滤策略。借助一篇文章中提供的 Linux 绕过方法,我们了解到使用 `%0a` 作为分隔符可以执行命令。请注意 `%0a` 是 URL 编码,必须在 URL 中使用,否则将被二次编码。构造请求 `?ip=.0.0.1%0als` 可以执行成功并发现目录 flag_is_here。接下来,用 `%` 代替空格并使用连接符`'’`绕过对关键词 cat 和 flag 的过滤,构造命令 `?ip=.0.0.1%0acd%fl''ag_is_here%0aca''t%fl''ag_.php` 并查看源码获取 flag。
CTF篇(攻防世界)
欢迎来到CTF攻防世界的自制oj网源码入门指南,深入探索每个挑战的奥秘:挖掘源代码的隐藏线索: 使用F开发者工具或快捷键Ctrl+U,探索flag的秘密所在。
解锁robots协议的智慧: 探索robots.txt文件,flag可能就隐藏在其规则之中。
备忘文件的细微之处: 观察.bak文件格式,洞察隐藏在备份中的flag。
理解Cookie的力量: 通过burp suite的抓包工具,解读cookie.php,破解信息加密。
前端知识的实战应用: 破解disabled属性,展现你的代码技巧,寻找flag。
登陆验证挑战: 挑战暴力破解或直接输入,解锁神秘账户。
php逻辑的逻辑迷宫: 探索构造参数a和b,遵循条件判断的线索。
/s/1w6kHC1OUqzV5oPbPa0EXQw
提取码: 9n1m教程千锋教育微信小程序全套开发视频教程数据绑定常用控件基础入门千锋
第讲_事件交互(视频,源码)千锋
第讲_View组件与Flexbox弹性盒模型(视频,源码)千锋
第讲_框架分析(视频,源码)千锋
第讲_HelloWorld创建(视频,源码)千锋
第讲_什么是微信小程序(视频,源码)千锋
第讲_什么是1-什么是千锋
第讲_HelloWorld创建.mp4
1-创建.pptxHelloWorld2
盘点那些渗透测试中的奇*技巧
总结下渗透测试中的一些小技巧,仅做总结。
0x php文件包含姿势
这类姿势国外黑阔早有总结,比如包含上传的文件,当然文件可控。利用php封装协议php://input和data://,包含post数据造成php命令执行,当然allow_url_include选项需要打开。包含log文件也是可以,当我们提交恶意代码时也会被记录,于是包含记录了恶意代码的log文件是个好主意。包含/proc/self/environ文件:这需要PHP运行作为一个具有cgion/proc伪文件的系统且PHP脚本有权访问这些伪文件。包含会话文件需要攻击者能控制会话中的任何字符串值(注入代码,例如phpinfo(),会话文件必须存放在serializedsession文件且PHP脚本能够访问会话文件(通常是/tmp/ sess_SESSIONID文件)。包含其他由php应用创建的文件,只要你能想到的,都可以尝试创建然后包含他,比如数据库文件,缓存文件,应用程序级别的日志。
0x .htaccess文件突破黑名单解析
因为是黑名单,自定义.htaccess上传,内容为test.jpg文件,没有扩展名,内容是一句话,这个时候就成功绕过。
0x php流封装绕过截断
主要利用了PHP的一个流封装特性,可以参考PHP官方文档中的Example #3。假设存在文件包含的代码,但%无法截断,只能包含 xxxx.html.php。首先新建hello.html.php,内容为phpinfo();然后压缩成zip,结构如下图。然后访问网址,成功包含压缩文件内的hello.html.php。把我们输入的变量和include后面的变量合起来就是zip://test.zip#hello.html.php,代表当前目录下的test.zip压缩包里面的hello.html.php,于是包含成功。
0x 通用防注入系统getshell
相信许多朋友渗透测试都遇到过这种情况,系统做了数据提交记录,通过阅读类似程序的源码得知数据记录在sqlin.asp。于是想到直接提交一句话木马,但没有成功。提交and 1= ,通过菜刀连接sqlin.php即可。
0x iis+php黑名单上传突破
在php+window+iis环境下,双引号(“>”)等价于点号(“.”),大于符号(“>”)等价于问号(“?”),小于符号(“<“)等价于星号(“*”)。虽然有这么多好玩的东西,但这特性只能用于文件上传时覆盖已知的文件,于是这特性便略显鸡肋。但通过一系列的测试发现,P牛已经给出完美利用的方法。首先利用特殊办法生成一个php文件,然后再利用该特性将文件覆盖。可问题来了,怎样生成php文件呢?如果可以直接生成php文件的话,干嘛还要利用那什么特性?别急,办法总是有的。我们知道在文件上传时,我们往往会考虑到文件名截断,如%等。对!有的人可能还会用冒号(“:”)去截断,如:bypass.php:jpg。但你知道吗?冒号截断产生的文件是空白的,里面并不会有任何的内容。虽然生成的php文件里面没有内容,但是php文件总生成了吧,所以我们可以结合上面所说的特性完美成功利用。按照上面提供的思路,实现本地测试地址:http://**.**.**.**/upfile.php 环境:Windows+IIS7.5。首先利用冒号生成我们将要覆盖的php文件,这里为:bypass.php,点击forward后,可以看见成功生成空白的bypass.php文件。利用上面的系统特性覆盖该文件,从上面已经知道“<”就等于“*”,而“*”代码任意字符,于是乎..我们可以这样修改上传的文件名,点击go..,即可成功覆盖bypass.php文件。