[C++]简单的SQL注入过滤

前几天帮一个客户写了一个C++连接MySQL,当他用到他的游戏中后,被人注射了,用了一个永真式,无限的刷了游戏装备

所以,我针对参数和整体SQL语句写了两个简单的函数,进行简单的过滤

bool CheckSQL(string sql)
{
    string key[9] = { "%","/","union","|","&","^" ,"#","/*","*/"};
    for (int i = 0; i < 9; i++)
    {
        if (sql.find(key[i]) != string::npos)
        {
            return false;
        }
    }
    return true;
}

bool CheckParameter(string Parameter)
{
    string key[14] = {"and","*","="," ","%0a","%","/","union","|","&","^" ,"#","/*","*/" };
    for (int i = 0; i < 14; i++)
    {
        if (Parameter.find(key[i]) != string::npos)
        {
            return false;
        }
    }
    return true;
}

原文地址:https://www.cnblogs.com/lee-li/p/8669302.html

时间: 2024-10-13 21:23:47

[C++]简单的SQL注入过滤的相关文章

简单的sql注入——实验吧

刚刚做了实验吧的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!! 永远爱你们的————新宝宝 简单的sql注入分值:10 来源: 实验吧 难度:中 参与人数:18007人 Get Flag:5644人 答题人数:6513人 解题通过率:87% 通过注入获得flag值(提交格式:flag{}). 解题链接: http://ctf5.shiyanbar.com/423/web

简单的sql注入之2——实验吧

刚刚做了实验吧的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!! 永远爱你们的————新宝宝 简单的sql注入之2分值:10 来源: 北邮天枢战队 难度:中 参与人数:9517人 Get Flag:4472人 答题人数:4644人 解题通过率:96% 有回显的mysql注入 格式:flag{} 解题链接: http://ctf5.shiyanbar.com/web/ind

sql注入过滤的公共方法

/// <summary> ///SQL注入过滤 /// </summary> /// <param name="InText">要过滤的字符串</param> /// <returns>如果参数存在不安全字符,则返回true</returns> public static bool SqlFilter(string InText) { string word = "and|exec|insert|sel

简单的SQL注入学习

引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt/lampp/htdocs目录下: 解释一下这个页面: 1.通过if语句判断变量是否初始化 2.if语句中通过mysql_connect()函数连接数据库 3.连接数据库成功后,选择一个数据库 4.选择完数据库后执行一条mysql查询 5.进行查询结果的处理 6.使用echo讲查询结果输出,便于查看

简单的sql注入

另一种简单的sql注入

PHP中 简单的SQL注入分析

SQL注入原理:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 以下介绍SQL注入方式: 首先建表如下: 1 create database sqltest charset utf8 2 3 create table test ( 4 id int,5 name varchar(10), 6 age tinyint unsigned7 )engine=myisam charset=utf8 插入数据如下 我们分成字段为数值类型和

记一次简单的sql注入

 什么是sql注入攻击?  所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击. 1.判断注入点是否有效 sqlmap -u "http://xxx.xxx.com/product.php?type_id=59" 2,查找数据库 sqlmap -u "http://xxx.x

4.简单的sql注入

根据页面提示,到底过滤了什么东西?可以知道一定过滤了什么.... 分别输入1,2,3有对应的结果 使用'会报错,于是 构造常用的sql语句:1' and '1'='1 没有反应试一试1' and '1'='2 还是没反应,工具提示,应该是过滤了什么,改一下sql语句试一试 1and1=1 可以显示东西,经过判断过滤了空格,我们使用/**/来代替空格 试一试1'/**/and/**/'1'='1 发现有结果了: 于是构建sql语句: 判断有那些数据库: 1'/**/union/**/select/

c#配置问题以及简单防止sql注入,连接池问题,sqldatareader对象对于connection对象的释放

添加引用.system configuration configurationManager.AppSettings[""] <appSetings> <add key="" value=""> </appSetings> <connectionStrings> <add key="" connectionString=""> </conne