常见入侵和防御内容摘要:

式 : Select * from admin where username=39。 $username39。 and password=39。 $password39。 只要我把 username写成如下方式 139。 or 1=1 or 39。 39。 =39。 那么 sql语句就变成 Select * from admin where username=39。 139。 or 1=1 or 39。 39。 =39。 39。 and password=39。 $password39。 所以直接登录成功,现在这种漏洞很少见 防御办法:对传过来的数据 addslashes即可,或者 sql语句分两步写,addslashes会自动对单引号和双引号进行转义 文件包含 ,程序包含了用户指定的文件,比如用户上传的某张图片,因为一个正常的网站,许多都是允许用户上传图片的,假设这张图片里边是一段 php代码,只是扩展名改成 .jpg的话,那么就可以执行任意用户指定的 php命令了 比如常见的 controller,对一个链接 /?ac=editamp。 id=1,他会包含 controller底下的,我只要把链接改成 /?ac=include(“ ,还有其它的形式 防御办法,可以把你要包含的文件写成一个列表,对 ac进行判断是否在这个列表中,比如 discuz就是这样做的 任意命令执行 ,没有过滤用户传过来的数据, 例子: •假设这又有一个 controller,他会针对某个请求执行一个方法,比如 /?main=newsamp。 ac=editamp。 id=1,它会执行 news类的 edit方法, 代码是这样写的 eval($news.””.”edit(”.$id.”)”)。 这个时候我任意构造 main或者 ac或者 id都可一执行任意的代码,比如我构造 main为 fwrite(fopen(“”,”w”),”?eval($_POST[cmd])?”)。 $news 那么 eval就是fwrite(fopen(“”,”w”),”?eval($_POST[cmd])?”)。 $newsedit(1) 这样就成功写入了一个 php文件 防御办法:同文件包含漏洞,或者做一些字符串的判断 任意文件上传 ,用户可以上传任意格式的文件,比如 php。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。