通过测试发现每个数据包的token在变化,尝试使用pitchfork进行爆破
具体设置如下:
选择pitchfork进行爆破,添加密码和token变量
因为token的变化需要修改线程数
在Grep - Extract 选项添加参数
在页面最低部找到always选项
回到payloads模块
正常添加第一个变量密码的字典
第二个变量选择递归搜索(Recursive grep)
Start Attack
从文本框输入发现限制了字符长度。
直接从url地址栏插入成功
在文本框输入了以后发现,查看源代码发现该语句被加成了超链接
将这里闭合以后利用onclick
同4一样的套路闭合以后就行
见框就X
提交以后发现这里提示一段文字,应该是直接打到后台了,找一下后台登录进去看看
后台路径:http://192.168.20.100/pikachu/vul/xss/xssblind/admin.php
绕过有很多方法,可以尝试其他的,这里直接大写就可以 有些需要大小写混编
输入了常用的符号进行查看是否被过滤
这里还是用on事件就X进去了
在文本框输入script探探路
利用单引号和script标签进行闭合,构造XSS语句
直接抓包查看下数据,从抓包的数据了解到 登录时没有用token进行验证,直接修改。
将add地址修改为cn,email修改为[email protected]
修改好以后,新打开一个浏览器标签页,将完整url地址输入。
登录任意账户
从burp的数据包可以知道,所有参数是在请求体里面提交,伪造url方法就不能使用了,只能构造一个虚假页面,诱导用户去点击,从而引发攻击
将该页面放置于www服务下,登录任意账户,再新建窗口访问该页面
这里加入了token校验,那么就没办法再进行伪造了。
直接抓包注
爆字段列数
查看数据库名和数据库用户
爆该库下所有的表
爆敏感表-users的字段
获取username和password的数据
对应账号和MD5加密的密码:
admin:e10adc3949ba59abbe56e057f20f883e(123456)
pikachu:670b14728ad9902aecba32e22fa4f6bd(000000)
test:e99a18c428cb38d5f260853678922e03(abc123)
这个搜索型注入和字符型注入一样,唯一的区别就是有3列字段,直接爆数据了
单双引号闭合都失败了,在后面尝试加了个括号就闭合成功了
直接就爆数据了!
既然是插入和更新,那么应该是注册和更新的时候,在注册的时候抓包分析。
爆出所有的表名,发现不能全部显示
这里可以采用left,mid,right来进行分段显示,将得到的信息进行拼接
直接把user-agent给换成单引号就会出现报错,注入database查看数据库
跟之前的一样就不继续操作了
从这里看到读取了这个file1.php,在include里面创建一个phpinfo
在php.ini配置文件打开这个选项
随便点一个查看,看到url的include。
修改这个filename的值,改为上级目录的phpinfo文件,然后通过repeater重发
将包释放,回到页面就发现弹出了下载页面,下载的就是这个phpinfo文件了。
抓包将Type 修改为图片类型
重发然后放包,回到页面发现上传成功
这里用Lucy这个账户登录,在url看到了username,直接修改后面的用户名,修改成lili
用admin账户登录,将admin账户登录的url复制下来打开另外一个浏览器用普通账户登录以后再进行访问。
普通账户登录
复制admin添加账户的地址以后,会自动变成admin的账户,然后直接添加账户。
现在登录admin查看
概述这个栏目是dir.php文件
这里直接从title进行修改值
F12进入代码页面,选中文本框就出现了账号和密码
利用找到的账号密码,成功登录
payload:
O:1:"s":1:{s:4:"test";s:30:"";}
每个挨个点,在第四个会有一个url地址,修改这个值
将这个值修改为百度
直接将url修改为你要读取的文件
到这里整个Pikachu就结束了,因为比较长所以有时候是在家,有时候在公司,所以会有两个ip。