SQL注入 sql注入攻击

SQL注入只有登录成功和失败两种情况 ,  页面没有显示位也没有报错 , 满足布尔盲注的条件
接下来测试注入点 , 已知id1时可以正常登录 , 我们给它加个单引号’ , 看会不会对结果造成影响 登录失败 , id1正常登录 , 但加了个

只有两种情况:登录成功和登录失败。该页面不显示任何位,也不报告任何错误。这满足了布尔盲注入的条件。

接下来,测试注入点。可以看到如果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

(0)
CSDN's avatarCSDN
上一篇 2024年6月21日 下午6:51
下一篇 2024年6月21日 下午6:51

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注