页面载入中,请稍后...

点我安装PWA
您已拒绝通知
    广告广告

    【本站受到SQL注入攻击,以及原理注入与解决方法】

    qaq卟言2021-01-14 02:48:37 MYSQL
    小人奔跑效果开始
    • 2020年12月27号18点14分的时候受到了安徽省合肥市蜀山区移动网络的一个家伙的注入
    • 注入来源是一个阅读量的数据表,注入当天晚上下班就发现了异常,当然文章更新的有点慢,今天熬夜记录一下
    • 本站受到SQL注入攻击,以及原理注入与解决方法1.png
    • 刚开始我并没有在本站的访客数据库记录中找到这个家伙的ip跟地址,虽然本站流量不大,但是由于本站监听了用户的浏览页面事件
    • 只是记录访问的页面,于是找起来比较麻烦,主要是我也懒的找,我需要一个快速的方法知道注入来源以及他的地址
    • 然后打开了我的监控日志找到地址,然后直接打开2020年12月27号的日志,查看18点14分的访问记录
    • 本站受到SQL注入攻击,以及原理注入与解决方法2.png
    • 本站受到SQL注入攻击,以及原理注入与解决方法3.png
    • 发现就一个家伙请求不正常,居然几百个,这只是当时的,下面还有好几个他的几百个请求😳
    • 本站受到SQL注入攻击,以及原理注入与解决方法4.png
    • 通过自己的api接口查询发现是安徽省合肥市蜀山区移动网络的,然后在数据库中进行搜索,果然发现了他
    • 当然出于保护用户隐私没有截取更多的信息给你们看,现在来说一下他注入的函数
    • 本站受到SQL注入攻击,以及原理注入与解决方法5.png
    • 本站受到SQL注入攻击,以及原理注入与解决方法6.png
    • 我们选择一个来说一下,这个原理很简单利用mysql自带的ifsleep语法,也就是利用if(wherecondition,true exec,false exec)
    • if(now()=sysdate(),sleep(15),0);
    • 就是他使用的代码,简单说来就是在我们提交post请求或者get请求中,将其中的参数设置为id=1-if(now()=sysdate(),sleep(3),0)
    • 如果我们发现网页返回结果正常并且停顿了15秒才返回数据
    • 那么,我们就可以断定是存在sql注入风险,接下就是放入我们的or 1=1语句获取所有我们想要的数据了
    • 当然这么简单的SQL注入代码我早过滤了,他也没有等到15秒才返回数据,而是直接就返回了阅读量1
    • 因为之前设计代码时候就对参数进行声明,如果第一次访问就显示1表示1个访问量,所以直接就显示1
    • 题外话
    • 现在网站漏洞已经很少能够用SQL注入了,政府和学校的网站漏洞比较多,当然还有我的😭
    • 由于编写程序代码的时候,并未对请求接口的数据进行合法化的检查和判断,使得程序中的变量处理不当
    • 程序使用对请求接口的数据来构造动态SQL语句以访问数据库时,会发生SQL注入攻击
    • 恶意的黑客可以通过SQL注入功能篡改数据库中的数据,甚至会把数据库中的数据毁坏掉
    • 做为网络开发者的人来说对这种黑客行为真的是恨之入骨
    • 产生原因
    • 利用程序设计上的漏洞,在目标服务器上运行SQL语句以及进行其他方式的攻击,动态生成SQL语句时没有对数据进行验证
    • 注入类型
    • 普通注入:根据后台数据库提示有价值的错误信息进行注入
    • 盲注:需要运用脚本通过仅有的判断信息(比如时间差)对表中的每一个字段进行探测,从而实现注入
    • 解决方法
    • 提交变量进数据库时,必须使用addslashes()进行过滤,像我们的注入问题
    • 一个addslashes()也就搞定了。其实在涉及到变量取值时,intval()函数对字符串的过滤也是个不错的选择
    • 对于跨站,strip_tags(),htmlspecialchars()两个参数都不错
    • 对于用户提交的的带有htmlphp的标记都将进行转换
    • 只要你把你所要执行操作的变量指定好或者对相关字符过滤严密,我想这样也就无懈可击了
    完结

    🔖本文来源:qaq卟言的个人博客网站声明如损害你的权益请联系我们

    ©️版权声明:本文为【qaq卟言】原创文章,写作不易,转载请您添加本文链接,谢谢您的合作!

    📜著作协议:《知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

    ⚠️部分文章图片来自网络,可能存在版权问题。如发现相关争议请联系qaq卟言处理!

    🔗

    广告广告

    随机文章

    该文章已经关闭评论,评论请前往留言信箱