Burp修改response欺骗

来源:互联网 发布:目前最好的网络机顶盒 编辑:程序博客网 时间:2024/05/09 15:50

我来分享一个小技巧,Burp修改response欺骗

小胖子 (VIP你快回来,园长欺负我!) | 2014-05-29 11:38

上次看到某同学在问,很多人都说用fiddler。

在drops里面的burp教程也是一笔带过,没有很好的实例。

这里就说一下,很多网站,在做验证的时候,是基于js的验证,判断浏览器返回的json也好,布尔值也好,来判断是否跳转,判断是否合法等,我们先不讨论这种方式的合理性和逻辑性,先暂且讨论,如何修改response来达到我们的预期目的。

在某网站的找回密码流程,验证密保答案是否正确,在源代码里看到了如下代码。

<script type="text/javascript">var errMsg = "";function checkAnswer() {  var answerObj = document.getElementById("answer");  var answer_tip = document.getElementById("answer_tip");  var username = document.getElementById("username").value;  if(isEmpty(answerObj.value))  {    answer_tip.innerHTML = "请填写问题答案!";    answer_tip.style.display = "block";    answerObj.focus();    return false;  }  else {    var flag = $.ajax({url:"/verifyAnswer.shtm",type:"POST",async:false,data:{username:username,answer:escape(answerObj.value.trim())} });     //返回值    flag = flag.responseText.trim();    if(flag == "false")    {      answer_tip.innerHTML = "您输入的问题答案有误,请确认!";      answer_tip.style.display = "block";      answerObj.focus();      return false;    }  }  answer_tip.style.display = "none";  return true;}function setErrMsg(){  var answer_tip = document.getElementById("answer_tip");  if(!isEmpty(errMsg))  {    answer_tip.innerHTML = errMsg;    answer_tip.style.display = "block";  }}setErrMsg();</script>

这里看出,只要返回是true,就进入下一个流程。

其实burp很早就给我们提供了这个功能,只是很多文章都是一笔带过没有仔细说明。

我们在密码找回界面随意填写答案wooyun,点击发送。

在密码找回界面随意填写答案wooyun,点击发送

这里我们看到,它将我们的用户名和密保答案POST到了验证页面。

这里,点击action里的do intercept --> response this request

点击action里的do intercept --> response this request

点击这个选项后,Forward当前包,POST出去。

然后burp就能收到response返回并且截断。

然后burp就能收到response返回并且截断。

因为我们的乱填的密码,所以返回是FALSE,我们修改成TRUE。

果断看到了密码修改界面。

抛砖引玉,这个的用处当然大得很,欢迎大牛来喷我等小菜,只是昨天又有人问起我这个,我就写出来,方便大家。


0 0
原创粉丝点击