PHP

MYSQL

阿旭个人博客

阿旭个人博客,是一款小巧强大的php mysql个人博客系统,本站提供个人博客模板下载。个人博客注册和建立个人博客网站,就用阿旭php个人博客系统吧!
您的位置:首页>漏洞,>正文

感谢网友【Rivir】反馈的sql注入漏洞和XSS漏洞

  • Donny
  • 2017-06-27 21:08:10       被围观了
  • 漏洞,
  •  【连长】Rivir(2461805286) 2017-6-26 23:34:43
    @axublog站长   http://www.axublog.com  这个站是你开发的么?
    窝能提点意见么/笑哭
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 15:27:46
    对啊
    您说
    【连长】Rivir(2461805286) 2017-6-27 15:35:00
    关于你的写的cms的漏洞,可能你一下子无法接受
    你得保证不能反过来告我啊,我只是友情测试的,hh


    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:21:50
    我也发现了
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:22:14
    网站好像被入侵了
    是什么漏洞啊?
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:24:48
    嗯保证
    【连长】Rivir(2461805286) 2017-6-27 16:36:26
    你应该删了cmsconfig.php这个文件了吧
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:36:42
    没有
    【连长】Rivir(2461805286) 2017-6-27 16:36:52
    系统重装漏洞, 可以直接getshell
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:36:56
    发现$webkeywords="xx";assert($_POST[1]);//";             #网站关键字
    被改过了
    【连长】Rivir(2461805286) 2017-6-27 16:37:12

    嗯嗯
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:37:43
    如果删除install文件夹呢
    【连长】Rivir(2461805286) 2017-6-27 16:38:28
    删除就没有了, 当其实是你的重装逻辑没有写好
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:38:45
    对的
    灰常感谢你告知我哈
    【连长】Rivir(2461805286) 2017-6-27 16:39:49
    hit.php 这里还有一个sql注入漏洞, 之前已经爆出管理员的账号密码
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:41:34
    朋友,你当我的安全顾问么好了
    高手啊
    【连长】Rivir(2461805286) 2017-6-27 16:42:58
    【连长】Rivir(2461805286) 2017-6-27 16:45:00
    我只是刚入门代码审计, 菜鸡一只/笑哭
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:45:26
    刚工作吗
    【连长】Rivir(2461805286) 2017-6-27 16:45:52
    你的cms好多地方也都没有过滤, 建立用现成的框架去写
    还在上学
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:46:04

    有考虑过用框架呢
    【连长】Rivir(2461805286) 2017-6-27 16:48:07
    自己写防护函数的话很容易疏漏的, 而且你的源码都开源, 一旦别人审计出了漏洞很容易官网主站直接被拿下
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:48:29
    灰常感谢你呢,明白了,意思是还有很多漏洞把


    【连长】Rivir(2461805286) 2017-6-27 16:49:17
    嗯嗯
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:49:32
    你那个是啥工具啊?
    【连长】Rivir(2461805286) 2017-6-27 16:49:47
    sqlmap
    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:51:32
    Python语言写的?
    【连长】Rivir(2461805286) 2017-6-27 16:51:40

    【连长】axublog站长(donghuigu@qq.com) 2017-6-27 16:53:42
    入侵风险除了SQL注入的话,还需要注意啥
    【连长】Rivir(2461805286) 2017-6-27 16:56:00
    xss 漏洞 
    【连长】Rivir(2461805286) 2017-6-27 16:56:52

    你的网站也没有过滤xss的一些措施


    以上是和网友【Rivir】的聊天记录,收获匪浅,灰常感谢他的反馈!

    总结下网站存在的sql注入漏洞和XSS漏洞:

    1.install文件夹,逻辑代码不够严谨,存在漏洞

    解决办法:需要删除install文件夹

    2.sql注入漏洞和XSS漏洞

    解决办法:过滤提交的信息,防止SQL注入


    SQL注入攻击是黑客攻击网站最常用的手段。如果你的站点没有使用严格的用户输入检验,那么常容易遭到SQL注入攻击。SQL注入攻击通常通过给站点数据库提交不良的数据或查询语句来实现,很可能使数据库中的纪录遭到暴露,更改或被删除。
    为了防止SQL注入攻击,PHP自带一个功能可以对输入的字符串进行处理,可以在较底层对输入进行安全上的初步处理,也即Magic Quotes。(php.ini magic_quotes_gpc)。如果magic_quotes_gpc选项启用,那么输入的字符串中的单引号,双引号和其它一些字符前将会被自动加 上反斜杠/。
    但Magic Quotes并不是一个很通用的解决方案,没能屏蔽所有有潜在危险的字符,并且在许多服务器上Magic Quotes并没有被启用。所以,我们还需要使用其它多种方法来防止SQL注入。
    许多数据库本身就提供这种输入数据处理功能。例如PHP的MySQL操作函数中有addslashes()、 mysql_real_escape_string()、mysql_escape_string()等函数,可将特殊字符和可能引起数据库操作出错的字 符转义。那么这三个功能函数之间有什么却别呢?下面我们就来详细讲述下。
    虽然国内很多PHP程序员仍在依靠addslashes防止SQL注入,还是建议大家加强中文防止SQL注入的检查。addslashes的问题在 于黑客 可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会 被看作是单引号,所以addslashes无法成功拦截。
    当然addslashes也不是毫无用处,它是用于单字节字符串的处理,多字节字符还是用mysql_real_escape_string吧。
    另外对于php手册中get_magic_quotes_gpc的举例:
    if (!get_magic_quotes_gpc()) {
    $lastname = addslashes($_POST[‘lastname’]);
    } else {
    $lastname = $_POST[‘lastname’];
    }
    最好对magic_quotes_gpc已经开放的情况下,还是对$_POST[’lastname’]进行检查一下。
    再说下mysql_real_escape_string和mysql_escape_string这2个函数的区别:
    mysql_real_escape_string 必须在(PHP 4 >= 4.3.0, PHP 5)的情况下才能使用。否则只能用 mysql_escape_string ,两者的区别是:mysql_real_escape_string 考虑到连接的当前字符集,而mysql_escape_string 不考虑。
    总结一下:
    * addslashes() 是强行加/;
    * mysql_real_escape_string()   会判断字符集,但是对PHP版本有要求;
    * mysql_escape_string不考虑连接的当前字符集。
     
    dz中的防止sql注入就是用addslashes这个函数,同时在dthmlspecialchars这个函数中有进行一些替换$string = preg_replace('/&((#(/d{3,5}|x[a-fA-F0-9]{4}));)/', '&//1',这个替换解决了注入的问题,同时也解决了中文乱码的一些问题



    文章 感谢网友【Rivir】反馈的sql注入漏洞和XSS漏洞阿旭个人博客 网上收集或原创,转载请注明

    来源:http://www.axublog.com/post/gan_xie_wang_you_Rivir_0804/

    上一篇: 好久前写的Asp文件管理源码Nowayerwebftp

    下一篇:Wordreplace在线文本批量替换工具:以前写的

    阿旭个人博客-创建于2017年5月- 沪ICP备16040435号

    About Sitemap Rss 文章归档 QQ群190498118