背景
一般有以下情况(3,按遇到的概率排序)
更多:点击后下载
有时:点击事件的脚本中有下载链接
例子:绿盟 - APT34事件分析报告。
脚本
定位脚本
代码
<script>//更换验证码图片function pop4_code_img(){var img_src = '/api.php?op=checkcode&m=admin&c=index&a=checkcode&time='+Math.random();$('#pop4_code_img').attr('src',img_src);}$('#pop4_code_img').click(function(){pop4_code_img();});//打开客服弹窗3:提交项目需求function pop4(){$("#pop4").fadeIn();$('#pop4_xingming').focus();pop4_code_img();}//提交表单1function pop4_form_submit(){var xingming = $('#pop4_xingming');var shouji = $('#pop4_shouji');var youxiang = $('#pop4_youxiang');var hangye = $('#pop4_hangye');var gongsi = $('#pop4_gongsi');var pop4_code = $('#pop4_code');if(xingming.val()==''){alert('请输入您的:姓名');xingming.focus();return false;}if(!check_length(xingming.val(),6)){alert('您的姓名请限制在6字以内');xingming.focus();return false;}if(shouji.val()==''){alert('请输入您的:联系电话');shouji.focus();return false;}if(!check_mobile(shouji.val())){alert('手机格式不正确');shouji.focus();return false;}if(youxiang.val()==''){alert('请输入您的:邮箱');youxiang.focus();return false;}if(!check_email(youxiang.val())){alert('邮箱格式不正确');youxiang.focus();return false;}if(!check_length(youxiang.val(),100)){alert('您的姓名请限制在100字以内');youxiang.focus();return false;}if(hangye.val()==''){alert('请输入您的:所在行业');hangye.focus();return false;}if(!check_length(hangye.val(),100)){alert('您的所在行业请限制在100字以内');hangye.focus();return false;}if(gongsi.val()==''){alert('请输入您的:所在公司');gongsi.focus();return false;}if(!check_length(hangye.val(),100)){alert('您的所在公司请限制在100字以内');hangye.focus();return false;}if(!check_code(pop4_code.val())){alert('验证码格式不正确');pop4_code.focus();return false;}//提交表单 wroovar url = '/index.php?m=formguide&c=index&a=check_down_form&formid=74&siteid=1';var download_url = '/index.php?m=content&c=index&a=show&catid=136&id=57&template=download';$.ajax({url:url,type:"post", //数据类型,get,post,script可选,默认getdata: {xingming:xingming.val(),shouji:shouji.val(),youxiang:youxiang.val(),hangye:hangye.val(),gongsi:gongsi.val(),code:pop4_code.val(),},async:false,success:function(result){if(result=='success'){$(".fix_black").fadeOut(); //半闭弹窗$("#download_link").attr('href',download_url); //半闭弹窗window.location = download_url; //下载文件}if(result=='code_error'){alert('验证码错误');}}});//$('#pop1_form').submit();}</script>
定位词(优先级从上到下)
- POST:因为业务流程有提交表单
- 在POST后成功的逻辑里找:

- “
window.location”/“window.location.href”:一般网页下载是用这个函数 - “download”/“down”:实在没有的话,就只能搜有关下载的字符串,然后慢慢读代码上下文
较少:点击后跳转至新页面
例子:CrowdStrike 2023 Global Threat Report。
检查按钮元素:
通过type和class都能定位到脚本处,但一般建议用class:

