【Pikachu】“MYSQL_ASSOC“ in /var/www/html/pikachu/vul/csrf/csrfget/csrf_get_edit.php:70 Stac

在使用漏洞练习平台(如pikachu)练习漏洞时,修改个人信息可能出现报错。可根据报错提示编辑文件,在末行模式下显示行号,修改后保存文件并重启服务。若CSRD post和token类型也出错,同样查看报错位置修改对应文件。

在使用pikachu漏洞练习平台,练习csrf漏洞的时候,修改个人信息,报错问题解决如下

image-20230812174332399

Fatal error: Uncaught Error: Undefined constant "MYSQL_ASSOC" in /var/www/html/pikachu/vul/csrf/csrfget/csrf_get_edit.php:70 Stack trace: #0 {main} thrown in /var/www/html/pikachu/vul/csrf/csrfget/csrf_get_edit.php on line 70

image-20230812174342160

根据报错提示cd /var/www/html/pikachu/vul/csrf/csrfget/下,编辑 vim csrf_get_edit.php这个文件

显示行号在末行模式下输入:set nu

image-20230812174529744

image-20230812174633453

在使用pikac

### CSRF(GET) 请求导致 500 Internal Server Error 的排查原因 在使用 Pikachu 漏洞测试平台进行 CSRFGET)攻击时,若触发修改信息后出现 500 Internal Server Error,通常表示服务器端脚本执行过程中发生了严重错误。以下是一些可能的原因及对应的排查方法。 #### 1. **请求参数格式不正确或缺失** - 当构造的 GET 请求中缺少必要参数或参数值未正确编码时,可能导致服务器端解析失败,从而引发 500 错误。 - 例如,在 `csrf_get_edit.php` 页面中,若未包含 `submit=submit` 这类用于标识表单提交的字段,PHP 脚本可能无法进入数据处理逻辑,进而报错[^2]。 - 确保 URL 中所有参数均按照目标页面要求格式传递,并使用 `urlencode()` 对特殊字符进行转义。 ```http GET /pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=男&phonenum=13800138000&add=China&email=test@example.com&submit=submit HTTP/1.1 Host: localhost ``` #### 2. **SQL 注入或数据库操作异常** - 若服务器端代码未对用户输入进行过滤或转义,直接拼接 SQL 语句,可能导致语法错误或注入失败,从而触发 500 错误。 - 检查 `csrf_get_edit.php` 文件中的数据库操作部分是否使用了未经保护的字符串拼接方式,建议改用预编译语句以提升安全性与稳定性[^2]。 #### 3. **PHP 脚本存在语法或运行时错误** - 若 PHP 脚本本身存在语法错误、变量未定义、函数调用失败等问题,也可能导致 500 错误。 - 可通过查看服务器日志(如 Apache 或 Nginx 的 error.log)获取更详细的错误信息,定位具体出错位置。 - 同时确保 PHP 配置文件中开启了错误提示: ```ini display_errors = On error_reporting = E_ALL ``` #### 4. **权限问题或路径错误** - 若脚本尝试访问某个受限制的资源(如配置文件、图片目录等),但当前运行用户无权访问,也可能导致 500 错误。 - 检查脚本中涉及的文件路径是否正确,权限设置是否合理,特别是数据库连接文件(如 `config.php`)是否存在或路径错误[^2]。 #### 5. **CSRF Token 校验机制存在但未绕过** - 若目标页面虽为 GET 型请求但引入了 Token 校验机制,攻击者未携带有效 Token 将导致服务器拒绝执行操作并返回 500 错误。 - 查看页面源码中是否存在隐藏的 Token 字段,若有,则需结合 XSS 或其他手段获取合法 Token 才能完成攻击。 #### 6. **服务器配置问题** - 某些服务器配置不当(如 `.htaccess` 规则冲突、RewriteRule 错误)也可能导致特定请求被错误处理,从而返回 500 错误。 - 检查服务器配置文件和重写规则,确保没有干扰正常请求处理的内容。 --- ### 示例:检查 PHP 错误日志 ```bash tail -f /var/log/apache2/error.log ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过期的秋刀鱼-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值