ONKay1 2024-08-08 14:59 采纳率: 76.5%
浏览 4
已结题

sql整数型注入问题

对某个网站进行sql渗透测试,查出来是整形,但是使用order by查询列数时,查到1000也不报错,这个该怎么解决,怎么查到列数

  • 写回答

1条回答 默认 最新

  • 一直免费一直爽 2024-08-11 22:31
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    要解决这个问题,首先确保你的SQL查询中没有包含任何可能被恶意用户操纵的字段名。例如,在ORDER BY子句中不应包含敏感信息如用户名、密码等。

    在MySQL数据库中,如果你想要通过ORDER BY获取特定列的数量,可以考虑使用COUNT()函数结合聚合函数GROUP BY。这样可以实现按指定列计算行数的目的:

    SELECT column_name, COUNT(column_name) AS count_column
    FROM table_name
    GROUP BY column_name;
    

    column_name替换为你要统计的列名称,table_name替换为你实际使用的表名。

    另外,为了进一步提高安全性,建议在执行任何可能导致数据泄露的操作之前,先进行充分的异常处理和错误检查。这有助于防止潜在的安全漏洞,并且能有效地捕获并报告任何可能的攻击行为。

    以下是完整的示例代码:

    -- 假设我们有一个名为 `users` 的表,其中包含一个名为 `id` 的字段。
    -- 我们想要知道每个用户的数量(即,他们的 id 列)。
    SELECT COUNT(id) AS user_count
    FROM users;
    
    -- 这里你可以根据需要更改 `column_name` 和 `table_name` 以匹配实际情况。
    

    这段代码会返回一个结果集,其中每一行对应一个用户ID,其值等于该用户ID所在的行数。这样就实现了根据列数排序的功能。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月26日
  • 已采纳回答 8月18日
  • 创建了问题 8月8日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见