本文目录一览:
- 1、Js注入检测函数咋办
- 2、如何将自己写的js注入到网站网页中
- 3、什么是js注入?
- 4、js脚本注入
- 5、Android WebView 怎么注入js文件啊,恳求大神帮忙
- 6、怎样在ie浏览器中注入js文件
Js注入检测函数咋办
答:首先要截获检测函数的动态代码,动态执行js代码有两种方法,一是eval,二是function。
现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行。
动态执行js代码无非两种方法,即eval和Function。那么,不管网站加密代码写的多牛,我们只要将这两个方法hook住,即可获取到解密后的可执行js代码。
注意,有些网站会检测eval和Function这两个方法是否原生,因此需要一些小花招来忽悠过去
如何将自己写的js注入到网站网页中
首先你要确认你的是js码,只有js代码才能被调用。
将写好的js代码复制到txt文件中,另存为.js文件,保存在你的网站目录下。我保存在桌面上。(注在网页上调用一定要保存在网页上)
保存好了之后,我的桌面就有一个新建.js的介绍文件,现在看看效果吧。随便新建一个网页,在body/body(注我演示的没有body,是最简单的网页)之间插入script language="javascript" src="js文件地址"/script,我的是放在桌面上的,所以地址是下面的这个
保存为html文件之后,打开来看看效果吧。
如上图所示,在网页的源文件里面,显示的不是
input type=button name="Submit1" value="郭强" size=10 class=s02
style="background-color:rgb(235,207,22)"而是这段代码转换成js后js文件所在的位置。
什么是js注入?
JavaScript注入就是在浏览器地址栏中输入一段js代码,用来改变页面js变量、页面标签的内容。
使用Javascript注入,用户不需要关闭或保存网页就可以改变其内容,这是在浏览器的地址栏上完成的。命令的语法如下:
javascript:alert(#command#)
js脚本注入
你说的是 防止xss脚本注入攻击吧。要么选择后端直接过滤掉这种类似的scriptalert()/script字符串,但是这对客户而言又不太友好。我用的最直接的方法,取得这样的数据在前端显示的时候用
var a = "xmp"+"scriptalert()/script"+"/xmp";
再把a加到你要展示的地方,浏览器就不会识别它成js代码去执行了。
仅做参考,按你的实际情况做选择吧
Android WebView 怎么注入js文件啊,恳求大神帮忙
第一步:
mainfest.xml中加入网络权限
uses-permission android:name="android.permission.INTERNET" /
第二步:
加载本地写好的html文件(定义好js中提供给android调用的方法 funFromjs(),和android提供给js调用的对象接口fun1FromAndroid(String name)),放在 assets目录下。
body
ajs中调用本地方法/a
script
function funFromjs(){
document.getElementById("helloweb").innerHTML="HelloWebView,i'm from js";
}
var aTag = document.getElementsByTagName('a')[0];
aTag.addEventListener('click', function(){
//调用android本地方法
myObj.fun1FromAndroid("调用android本地方法fun1FromAndroid(String name)!!");
return false;
}, false);
/script
p/p
div id="helloweb"
/div
/body
第三步:
实现android工程与js交互的相关代码
android主题代码:
public class JavaScriptObject {
Context mContxt;
@JavascriptInterface //sdk17版本以上加上注解
public JavaScriptObject(Context mContxt) {
this.mContxt = mContxt;
}
public void fun1FromAndroid(String name) {
Toast.makeText(mContxt, name, Toast.LENGTH_LONG).show();
}
public void fun2(String name) {
Toast.makeText(mContxt, "调用fun2:" + name, Toast.LENGTH_SHORT).show();
}
}
怎样在ie浏览器中注入js文件
现在有IE浏览器进程,已经打开某网站,
希望通过C# 让此IE窗口执行某脚本,如scriptalert();/script
1,不写IE插件
2,不借助第三方浏览器,只针对IE
3,不使用Winform的WebBrowser控件.
知道的朋友给个思路
补充说明:
我使用下面这段代码试了,'aaaaaaaaa'会在页面中显示出来,但是后面那段js脚本却没有运行.很奇怪.
ShellWindows m_IEFoundBrowsers = new ShellWindowsClass();
foreach (InternetExplorer Browser in m_IEFoundBrowsers)
{
if (Browser.Document is HTMLDocumentClass)
{
HTMLDocument doc = Browser.Document as HTMLDocumentClass;
doc.body.innerHTML += "aaaaaaaaascript type=\"text/javascript\"alert(11);/script";