我正在建立一个开发CSRF漏洞的实验室任务。我需要一个机器人,他将访问我的页面并执行JS:
<html>
<head>
</head>
<body>
<form action="http://localhost:9010/csrf/register.php" method="POST" id="csrf-form">
<input type="hidden" name="login" value="casper" />
<input type="hidden" name="password" value="casper" />
<input type="submit" value="Submit request"/>
</form>
</body>
<script>document.getElementById("csrf-form").submit()</script>
</html>
我无法使用PhantomJS或CasperJS。我不知道HTML代码对于不同的学生会是什么样子(表单id属性可能不同),我只想在页面上执行JS代码。 CasperJS版本1.1.4在/ opt / casperjs,使用phantomjs版本2.1.1
var casper = require('casper').create();
casper.start('http://127.0.0.1/mypage.html');
由于您不知道表单id
属性(并且由于其他元素属性特定于每个学生),您可以使用casper.fillXPath()
来使用常规选择器来填写并自动提交表单。
例:
casper.start('https://example.com/', function () {
this.fillXPath('form', {
'//form/input[@type="hidden"][1]': username,
'//form/input[@type="hidden"][2]': password,
}, true);
});
否则,如果您了解有关表单中使用的选择器的更多信息,您可以查看使用casper.fill()
,casper.fillSelectors()
或casper.fillLabels()
。
如果您只需要在页面DOM环境中执行JavaScript,则可以使用casper.evaluate()
。