记一次某流量卡平台代码审计

admin 2025年4月16日09:00:28评论2 views字数 2305阅读7分41秒阅读模式

1.sql注入

通过$_GET['yys']获取名为yys的GET参数的值,并将其赋给变量$yysname。这意味着该代码期望从URL中接收名为yys的参数,并将其值用作查询条件

  $yysname = $_GET['yys'];      if ($con) {        //选择数据库        if ($db) {          //获取数据总行数          $sql = "select * from list  where yys='$yysname' AND state=0 ORDER BY id DESC";        //   $sqlid ="select * from list";          $sortsql = "select * from sort  ORDER BY sortid DESC";          $data = mysqli_query($con, $sql);          $sortdata = mysqli_query($con, $sortsql);
记一次某流量卡平台代码审计

http://xxxxx.xxxx/ka.php?yys=1'记一次某流量卡平台代码审计

2.前台任意文件上传

$_POST数组中获取表单中poster_nameposter_bzcr_timeup_time的值,并分别赋给变量$poster_name$poster_bz$cr_time$up_time。这些变量用于接收表单中相应字段的值。

<?php$poster_name $_POST['poster_name'];$poster_bz  = $_POST['poster_bz'];$cr_time  = $_POST['cr_time'];$up_time  = $_POST['cr_time'];// 获取上传文件的信息$filename $_FILES['poster_url']['name']; // 获取上传文件的原始文件名$tmpname $_FILES['poster_url']['tmp_name']; // 上传文件的临时文件名// 生成新的文件名$extension pathinfo($filename, PATHINFO_EXTENSION); // 获取文件扩展名$newFilename time() . '.' . $extension// 使用时间戳作为文件名// 指定目标目录和文件路径$targetDir '../uploads/'// 服务器上保存上传文件的目录$targetFile $targetDir $newFilename// 目标文件路径// 构建完整的文件路径$protocol isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http'// 获取网站协议$domain $_SERVER['HTTP_HOST']; // 获取网站域名$fileUrl $protocol '://' . $domain '/make/uploads/' . $newFilename// 构建完整的文件路径// 将临时文件移动到目标位置if(move_uploaded_file($tmpname$targetFile)) {    // 文件移动成功    // 在这里可以进行其他的操作,如保存文件路径到数据库等    include_once("../../untils/conn.php");    if($con) {        mysqli_query($con"set names utf8");        $data mysqli_query($con"insert into poster(poster_name, poster_url, poster_bz, cr_time, up_time) values('$poster_name', '$fileUrl', '$poster_bz', '$cr_time', '$up_time')");        if($data) {            echo("<script>alert('添加成功');history.back();</script>");            // echo ("<script>window.location.href='../group.php'</script>");        } else {            echo("<script>alert('添加失败,请输入全部数据');history.back();</script>");            // echo "Error updating record: " . $con->error;        }    }else {    // 文件移动失败    echo '文件上传失败!';}?>
// 生成新的文件名$extension pathinfo($filename, PATHINFO_EXTENSION); // 获取文件扩展名$newFilename time() . '.' . $extension// 使用时间戳作为文件名

首先,它使用pathinfo()函数获取上传文件的扩展名。pathinfo($filename, PATHINFO_EXTENSION)这一行代码将$filename变量作为参数传递给pathinfo()函数,并使用PATHINFO_EXTENSION常量指定返回的是文件的扩展名。这样,$extension变量将保存上传文件的扩展名

记一次某流量卡平台代码审计
记一次某流量卡平台代码审计

fuzz即可

记一次某流量卡平台代码审计

原文始发于微信公众号(韭要学JAVA安全):记一次某流量卡平台代码审计

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月16日09:00:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次某流量卡平台代码审计https://cn-sec.com/archives/3962524.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息