客户买东西返利网站怎么做,搭建自己的网站需要什么,android开发软件有哪些,学院网站建设总结首先尝试了一下sql注入#xff0c;但是没有找到不同回显。直接用sqlmap扫描一下#xff0c;因为这边用的是POST请求#xff0c;所以需要抓包将请求复制到txt文件中然后使用命令sqlmap -p bp.txt。也没有发现注入漏洞。
再进行目录扫描试试#xff1a;
[02:33:43] 403 - …首先尝试了一下sql注入但是没有找到不同回显。直接用sqlmap扫描一下因为这边用的是POST请求所以需要抓包将请求复制到txt文件中然后使用命令sqlmap -p bp.txt。也没有发现注入漏洞。
再进行目录扫描试试
[02:33:43] 403 - 337B - /.httr-oauth [02:36:39] 403 - 333B - /public/ /.httr-oauth 是 R 语言 OAuth 授权的敏感配置文件服务器禁止外部访问是正常的安全措施。 /public/ 是公开静态资源目录文件本身应可访问403 错误可能由权限配置问题导致需检查文件权限或服务器规则。 都没有访问权限。完全没有思路了...
看了一眼答案居然是需要用字典扫描网页备份文件为什么dirsearch不能扫描出来呢 ?phpob_start();function get_hash(){$chars ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%^*()-;$random $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];//Random 5 times$content uniqid().$random;return sha1($content); }header(Content-Type: text/html;charsetutf-8);***if(isset($_POST[username]) and $_POST[username] ! ){$admin 6d0bc1;if ( $admin substr(md5($_POST[password]),0,6)) {echo scriptalert([] Welcome to manage system)/script;$file_shtml public/.get_hash()..shtml;$shtml fopen($file_shtml, w) or die(Unable to open file!);$text ******h1Hello,.$_POST[username]./h1******;fwrite($shtml,$text);fclose($shtml);***echo [!] Header error ...;} else {echo scriptalert([!] Failed)/script;}else{***}***
? $admin 6d0bc1; if ( $admin substr(md5($_POST[password]),0,6))
需满足该条件就得找到某字符串的md5编码前六位是6d0bc1这里参考[BJDCTF2020]EasySearch SSI注入漏洞-CSDN博客的脚本
import hashlibdef generate_md5(prefix):count 0while True:data prefix str(count)md5_hash hashlib.md5(data.encode()).hexdigest()if md5_hash.startswith(prefix):return md5_hash, datacount 1prefix input(请输入六个字符的前缀)
md5_hash, data generate_md5(prefix)
print(MD5值, md5_hash)
print(加密前的数据, data)
然后会将 h1Hello,.$_POST[username]./h1写入文件public/.get_hash()..shtml中。应该是需要植入木马但是这里有两个问题
1、文件名是通过代码shal1(uniqid().$random)生成的其中$random是五位随机字符串怎么得到文件名呢
2、写入的是shtml文件并不能植入php一句话木马应该植入什么呢
第一个问题文件名具有高随机性无法破解所以题目肯定有其他提示。通过抓包可以看到响应中有提示Url_Is_Here: public/e96cae9e326466c68fa54d20e06936b5dc8deb25.shtml
第二个问题从源码中我们可以看到后端直接将用户输入放入shtml文件中存在SSI注入漏洞。 SSIServer-Side Includes服务器端包含注入漏洞是一种因服务器未正确过滤用户输入中的 SSI 指令导致攻击者可注入恶意 SSI 代码并被服务器执行的安全漏洞。它主要影响启用了 SSI 功能的 Web 服务器攻击者通过构造恶意请求可实现文件读取、命令执行、服务器信息泄露等危害。 一、SSI 技术基础 SSI 是一种简单的服务器端脚本技术允许在 HTML 页面中嵌入动态指令服务器在解析页面时会执行这些指令并将结果替换到页面中。其核心作用是实现页面模块化如复用导航栏、页眉页脚或动态内容生成如显示当前时间、服务器信息。 常见的 SSI 指令格式如下 html !--#指令 参数值 -- 例如 显示服务器当前时间!--#echo varDATE_LOCAL --包含其他文件内容!--#include fileheader.html --执行系统命令部分服务器支持!--#exec cmdls -- 二、SSI 注入漏洞的成因 SSI 注入漏洞的根本原因是服务器对用户可控输入如表单提交、URL 参数、Cookie 等未进行严格过滤或转义导致攻击者可将恶意 SSI 指令注入到网页中且服务器会执行这些指令。 具体场景包括 用户输入直接嵌入页面例如网站允许用户提交评论、留言等内容且未过滤--#等 SSI 指令特征导致恶意指令被写入页面并被服务器执行。文件上传漏洞结合 SSI攻击者上传包含 SSI 指令的文件如.shtml、.html若服务器允许该文件被解析为 SSI 页面则指令会被执行。动态页面生成缺陷服务器在动态生成页面时将用户输入直接拼接进 HTML且未处理 SSI 特殊语法导致注入。 三、漏洞危害 SSI 注入的危害程度取决于服务器配置的 SSI 权限可能包括 信息泄露 通过!--#echo varVAR_NAME --指令获取服务器环境变量如操作系统版本、Web 服务器类型、用户权限等。 例如!--#echo varHTTP_USER_AGENT --获取浏览器信息、!--#echo varSERVER_SOFTWARE --获取服务器软件版本。 文件读取 通过!--#include file文件路径 --指令读取服务器上的敏感文件如配置文件、密码文件、日志文件等。 例如!--#include file/etc/passwd --读取 Linux 用户列表、!--#include file../config.php --读取网站配置。 远程命令执行 若服务器启用了exec等危险 SSI 指令如 Apache 的Options IncludesNOEXEC配置被禁用攻击者可直接执行系统命令。 例如!--#exec cmdwhoami --查看当前用户、!--#exec cmdrm -rf /tmp/* --删除文件甚至反弹 shell 控制服务器。 页面篡改 通过注入指令修改页面内容误导用户或传播恶意信息。 感觉和模板注入很像。
这里我们直接注入命令执行令$_POST[username]!--#exec cmdls / -- 不在根目录中那就从当前工作目录开始一级一级向上访问。
更简便的是使用find / -name *flag*命令但是这里我试了没成功不知道为什么有可能是靶机用的轻量级linux系统没有find命令。
在上级目录中我们能找到有flag_990c66bf85a09c664f0b6741840499b2文件。
总结一下1、源码泄露这道题内容极少没有任何线索那么大概率是需要获得源码的使用dirsearch扫描没什么发现需要进一步用bp扫描备份文件。2、一个特殊的md5绕过我们可以通过脚本构造一个字符串使其md5编码带有特定前缀。3、基础的SSI注入原理和其他注入漏洞类似将用户的输入直接放入可执行文件这里是shtml文件。