一、打开网站是这个样子
找到一个登录框,存在注入漏洞
3.我们可以这样更改用户名中的输入:
admin' or 1=1 --
4.错误消息显示Invalid Password,因此我们也应该尝试构造一个密码才能登录。经过几次尝试,我终于通过使用有效负载成功了,如下所示:
admin' union select '123' as password --
并使用通行证123以管理员用户身份登录。
返回主页,我们可以看到一个超链接,该超链接链接到一个私人页面,并在其中显示第一个标志。
![](https://img2018.cnblogs.com/i-beta/1722441/202001/1722441-20200112151607902-1088463711.png)
![](https://img2018.cnblogs.com/i-beta/1722441/202001/1722441-20200112151718760-1734253580.png)
第二个flag
1.让我们像在Micro-CMS v1中一样创建一个新页面。
2.内容文本区域中的XSS仍然存在(有效载荷相同),但是我们无法获取该标志。
3.返回此CMS,我们已经知道新版本已升级版本控制。但是我们尚未测试edit API。由于我们是以伪造的管理员身份登录并获得了edit API,因此让我们检查一下它是否得到正确的授权。
4,我们可以将此API发送到BurpSuite Repeater,并删除请求标头中的Cookie段。看看发生了什么事?是的,我们获得了第二旗!
第三个flag
1.这很混乱。我在里面呆了几天。最后,我决定获取默认的管理员用户名和密码并使用它登录。
2.因此,让我们再来看一下错误消息。
“从管理员那里选择用户名= \'%s \''%request.form ['username']。replace('%','%%')的密码
而且我们还知道,在构造了一些sqli有效载荷之后,存在两种不同类型的错误。一个是“未知用户”,另一个是“无效密码”。
根据以上信息,我们可以使用SQL注入技术来获取所需的信息。
3.尝试这样的有效负载:
' or length(password)=1 --
响应显示“未知用户”。
使用BurpSuite入侵者模块进行自动破解。
现在我们知道密码长度为6。
4.我们可以继续猜测密码中的每个字符。这是有效载荷:
' or password like 'a%'
最后我们可以得到的密码是
joette
4,我们还可以通过使用有效载荷来获取用户名的长度,如下所示:
' or password='joette' and length(username)=1 --
我们也知道账户也是6位
然后我们将有效载荷更改为
' or password='joette' and username like 'a%'
我们知道用户名是
marlin
5.使用用户名“ marlin”和密码“ joette”登录CMS。然后...