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_name
、poster_bz
、cr_time
和up_time
的值,并分别赋给变量$poster_na
me
、$poster_bz
、$cr_time
和$up_time
。这些变量用于接收表单中相应字段的值。
$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安全):记一次某流量卡平台代码审计
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论