一、Web安全漏洞概念及原理分析
1.1跨SQL注入
概念:SQL Injection按照字面意思来翻译就是“SQL注射”,常被叫做“SQL注入”,它的含义就是利用某些数据库的外部接口把用户数据插入到实际数据库操作语言当中,从而达到入侵数据库乃至操作系统的目的。SQL注入漏洞形成原因是:用户输入的数据被SQL解释器执行。
原理分析:假设如下URL存在漏洞
构造数据库原型:
select * from table_name where id=1
那么提交:
select * from table_name where username=‘or’=‘or’ And pass=‘or’=’or’
这样,如果页面和id=666返回相同的结果,就说明附加查询条件成立,如果不同,就说明不成立。
手工判断能否进行SQL注入方法:
第一步先把IE菜单=>工具=>Internet选项=>高级=>显示友好 HTTP 错误信息前面的勾去掉。否则,不论服务器返回什么错误,IE都只显示为HTTP 500服务器错误,不能获得更多的提示信息。
简单判定有无漏洞: 粗略型:提交单引号'
逻辑型(数字型注入):and 1=1 / and 1=2
逻辑型(字符型注入):' and '1'='1 / ' and '1'='2
逻辑型(搜索型注入): 关键字%' and 1=1 and '%'='% / 关键字%' and 1=2 and '%'='%
危害:获取数据库信息,脱裤,获取服务器权限,植入webshell,获取服务器后门,读取服务器敏感文件等。
示例:
如下,user id查询框中输入1,则正常显示结果如下:
但是,当user id查询框中输入1'时,则显示输出如下:
则该处存在sql注入漏洞。
目前流行的注入工具有:SQLMap、Pangolin(穿山甲)、Havij等。
文章来源:光荣之路
更多精彩内容:
项目管理应该怎么做?
黑客携手AI的时代, 你HOLD住吗?
项目管理上的失误和3大应对措施
LoadRunner手动编写接口性能脚本, Post请求
简历,我要更好的
领取专属 10元无门槛券
私享最新 技术干货