背景
一般有以下情况(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();
}
//提交表单1
function 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;
}
//提交表单 wroo
var 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可选,默认get
data: {
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: