专栏首页我的博客防止sql注入以及注入原理

防止sql注入以及注入原理

1. 判断是否可以注入 id=145 and 1=1正常显示 id=145 and 1=2 我这里可以注入的是正常显示,网上说提示错误 id=145′后面加入‘这样提示错误(有的甚至连表名都提示了)

2. 猜管理员表名

比如原来是***.php?id=49在后面加入 And (Select Count(*) from Admin)>=0 ,如果页面和id=49一样那么,表名就可以确定了——————就是admin了。

3. 猜猜用户表中字段 将刚才的*换成你猜的字段,如果页面也和id=49的一样,恭喜你,字段名字出来了 常用字段名:(user,users,member,members,userlist,memberlist,userinfo,admin,manager,yonghu )

4. 然后判断管理表中有几个字段 输入:id=145 and 1=2 union select 1,1,1 from admin其中admin就是你刚才猜出来的管理表

5. 如果才出来字段会在页面上本来显示的地方显示成了数字,然后将数字替换成你才出来的字段名字,这样密码以及用户名都显示在页面上了。一般后台账户都是md5加密的,找个md5解密工具试试

下面介绍怎么过滤

[php]

function NO_SQL($str) { <span style="color: #ff0000;">$arr=array(‘select’,’update’,’delete’,’union’,’where’,’admin’,’insert’,’count’);</span>

//数组内的字符串是过滤掉的非法字符,如果传递有这样的非法字符,则提示非法操作,关闭窗口 foreach($arr as $pattern) {

if(preg_match("/$pattern/", $str)) { echo "<script language=\"javascript\">alert(\"非法操作!\");self.close();</script>"; exit(); break; } }

return $str; }[/php]

其他要注意编程规范

比如:字段名和表名要加上“  `  “”(这个就是tab上面那个键)、正确使用post和get、提高数据库名字命名、关闭错误提示、封装sql

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 水仙花数(100-999)

    #include<stdio.h> int main() { FILE *fout; fout=fopen(“test2-2.out”,”wb”); ...

    苦咖啡
  • Mysql命令行操作教程【一】

    今天突然有人问我会不会用mysql控制台建立数据库?我犹豫了,您呢? 于是就打算好好研究下mysql控制台命令。平时我们使用phpmyadmin或者navica...

    苦咖啡
  • svn钩子用法

    要点:需要post-commit具有执行权限 chmod +x ./post-commit 需要将svn的目录给www-data chown -R www-da...

    苦咖啡
  • 【2019年8月版】OCP 071认证考试原题-第42题

    A) The subquery is executed for every row in the EMPLOYEES table.

    用户5892232
  • Python + Django 配置后台

    完成上个步骤后,可发现在newproject文件夹下生成了:一个名为newproject的文件夹,一个manage.py文件。

    py3study
  • expdp和impdp的实践

    导入导出我们经常用的是exp/imp命令,确实比较方便,但也有局限,例如需要导入导出的表空间名相同、schema名需要相同。

    bisal
  • JavaScript强化教程—— RegExp 对象

    本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —-RegExp 对象 RegExp 对象用于规定在文本中检索的内容...

    IMWeb前端团队
  • JavaScript强化教程—— RegExp 对象

    本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —-RegExp 对象

    IMWeb前端团队
  • 搭建你的第一个Django应用程序

    python的相关学习资料:http://www.cnblogs.com/hongten/tag/python/

    Hongten
  • 一步步教你创建自己的数字货币(代币)进行ICO

    Tiny熊

扫码关注云+社区

领取腾讯云代金券