只有两种情况:登录成功和登录失败。该页面不显示任何位,也不报告任何错误。这满足了布尔盲注入的条件。
接下来,测试注入点。可以看到如果id=1就可以成功登录。检查这是否会影响您的结果。
登录失败。 id=1 成功登录,但是添加单引号后登录失败。这表明单引号影响了SQL的执行,也就是说存在注入。
添加另一个true以始终启用SQL使登录再次成功。
如果将其更改为false,则不会建立SQL,并且登录将再次失败。
此时可以看到后端SQL使用单引号来包裹参数,并且使用的是单引号字符串类型注入。
第二步,脱库
使用length() 确定当前使用的数据库名称的长度。
?id=1\’ 和length(database())1 — a
如果数据库名称的长度大于1,则上面的length(database())1结果为true。
?id=1\’ 且true —
确保始终为成功登录建立SQL
长度从1开始测试,如果长度不满足条件则加1。
?id=1\’ 和长度(database())8 —
如果长度小于或等于8,则length(database())8 的结果为false。
?id=1\’ 和false —
登录将失败,因为SQL 始终处于禁用状态。这告诉我们数据库名称的长度是8。
确定长度后,猜测数据库名称
?id=1\’ 和substr(database(),1,1)=\’ — a
使用substr() 截取数据库名称的第一个字符。如果字符为\’s\’,则substr(database(),1,1)=\’s\’ 返回值为true。看起来像这样
?id=1\’ 且true —
确保始终为成功登录建立SQL
如果不是字母“s”,则登录失败。
猜出第一个字母后,再次尝试猜第二个、第三个字母,依此类推,直到猜出整个名字。
根据这种方法,您可以推断出整个数据库的信息(这可能需要相当长的时间.)。
哪个兄弟不知道你可以提前回答网络安全面试问题?我们整理了160多道网络安全面试题(金9银10),让你的网络安全面试脱颖而出,我花了一周的时间才完成。做吧。
工程师王兰一面试题及答案目前只对我哥有用。如果你能正确回答70%的问题,找到一份稳定的工作应该不是什么大问题。
对于工作1到3年之后想换工作的朋友来说也是一个不错的考虑!
【如何获取完整版在文末! ]
93 网络安全面试问题
我就不一一截图了,因为内容太多了。
黑客学习资源推荐
最后给大家分享一套完整的网络安全学习资料,对所有想学习网络安全的人都有用。
对于刚接触网络安全的学生,我们创建了详细的学习和成长路线图。这可以说是最科学、最系统的学习路线。每个人都可以遵循这个大方向。
朋友们,如果您需要的话,请联系我们获取~
1零基础入门
学习路线
对于刚接触网络安全的学生,我们创建了详细的学习和成长路线图。这可以说是最科学、最系统的学习路线。每个人都可以遵循这个大方向。
路线对应学习视频
同时,还根据成长路线提供了每个部分的支持视频。
2视频配套工具国内外网安书籍、文档
工具
视频
书籍
由于资源比较敏感,所以需要的资源并没有完全显示在底部。
简历模板
由于篇幅有限且信息较为敏感,我们仅展示部分信息。
以上#SQL注入相关内容来源仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91263.html