xss跨站之代码及http only绕过

如何绕过http only,他只是防止被读取,并不防止跨站漏洞,我想要获取后台的权限,有两种方法可以获取后台权限,一种是,另一种是直接的账户密码登陆,因为http only限制了的获取只能用账户密码去登陆,账户密码有些个人习惯,会把账户密码进行个保存,避免下次忘了密码,有一些浏览器会自动保存,如果对方设置了保存或者浏览器自动保存账户密码,我们是可以利用xss去读取账户免密的 。
有两种情况,一种是保存读取,就是输入账号浏览器会自动补齐免密就是保存读取,比如qq的保存密码 。
另一种没有保存读取,没保存就要重新输入一遍,
攻击就针对这两种情况进行攻击,保存的话,就可以通过读取他保存的数据,如果没有保存,就采用表单劫持,表单劫持这个xss平台什么就有
我们看一下后台网站的前端,点开查看元素,看看什么是表单,
表单劫持就是,把这个form表达给劫持了,我们抓一下登陆时数据包看看就清楚了,在后台登录界面,输入账户admin,密码,然后点登陆抓包看一下
表单劫持就是把账户密码在发送到跨站平台里面去,相当于数据发了两份,一个正常发送出去,一个发送给了xss跨站平台,所以跨站平台就会收到账户密码,因为是明文账户密码就可以直接去登陆,这种是没有保存的攻击方式 。这个跨站攻击方式是有前提的,前提就是跨站漏洞要产生在登录框哪里,如果没有产生在登录框哪里,跨站漏洞就要写在对方代码里面,或者执行其他代码能够触发跨站 。登录框一般就是我们后台登陆地方,如果这个地方没有跨站的话,这种方法是不可行的 。
我们刚刚攻击成功是因为是测试靶场,把跨站语句写在代码里面了,我们攻击方式要么在后台登陆页面把跨站语句写到对方代码里面去,要么去在这个页面构造一个触发地址,对方去访问他触发这个跨站代码 。
如果采用登录框跨站劫持的话,必须是在登陆的地方有跨站漏洞,其他地方就不行,利用起来有些鸡肋 。
保存读取,
保存读取账户密码是储存在浏览器的,我们新创建一个跨站漏洞,选项里面就有获取浏览器保存的明文密码,
这几个值要和后台登陆的对应,我们可以直接在后台登陆网页,点击查看我网页源代码,就可以看到那些值,然后把对应的值填上就好,下面箭头所指就是,
现在这个配置的跨站,就是专门用来搞浏览器保存账号密码的地方,我们在跨站平台复制跨站语句,假设我们已经攻击进来了,跨站语句写到了代码里面
然后在去访问后台地址,去看平台上面有没有
用这个跨站漏洞直接写入对方代码,或者引诱对方访问那个代码的地址,触发这个跨站漏洞 。
我们打开xss跨站靶场来干
第一关很明显,网站里面name=tesr,然后网页上欢迎以后test,所以test是自定义,且可以输出出来的,我们把test改成1,测试一下,就变成了欢迎用户1.所以我们把注入语句写道test那里试一下,
第一关很简单 。
第二关,观察了一下也有test,而且也显示出来了,
我们试一下第一关的做法看看
不行,现在就开始讲如何手动去测试跨站漏洞,并且遇到这种情况该怎么解决,右键我们跨站语句看看元素,
如何在右键这段语句所在的代码,点作为html编辑输出,
就发现就是给超链接地址,点击这个他就会触发这里面的地址,就会触发元素指着的地址,地址就调用js代码去执行 。
就成功了 。
第六关
把第五关的代码放进去看看试试,执行不出来,查看一下元素
发现这里有hr_ef,被过滤掉了 。第六关的过滤更加严谨了,肯定on也过滤了 。
果然过滤了一堆东西 。
发现全是小写,那我们试一下大小写过滤,
=">
这串代码,带入搜索里面
可以了
利用大小写绕过,成功了
第七关,
输入跨站代码=">试试.,发现并没有跨站代码执行出来,查看一下元素 。
href和都被过滤为空了,打开代码看一下就明白了
不过这种不是循环过滤,他只过滤一次,所以我们写一个这样的代码进去
=">
被过滤一次后,就变成了=">
出现了超链接,点一下
成功了 。
第八关
发现是可以添加链接,那就直接添加个js代码进去试试,发现不行,然后查看元素看看,果然被过滤掉了 。
看一下源代码
过滤了关键字符,而且大小写也不行 。
因为他对语句过滤了,大小写也过滤了,还是循环过滤,所以我们换一种思路,编码
编码完成,javascript:alert('1')
点击友情链接
完成了
第九关
试一下第八关的代码可不可以
提示连接不合法,看一下代码是专门验证的
【xss跨站之代码及http only绕过】验证的是有没有htpp://,没有这个东西就会显示连接不合法,既然检测有没有http://,那就在末尾加上这个