标签:sql基础 访问 功能 result UNC 表格 rest orm art
(1)什么是表单
主要用于数据采集功能
(2)浏览器可以解析运行什么语言。
JavaScript、php、jsp等
(3)WebServer支持哪些动态语言
PHP、jsp、python等
(4) 防范注入攻击的方法有哪些
类似Java里面的preparestatement这样的预编译设计
对于sql语句的检查,使用正则表达式
在web端就进行检查
这次就是web知识的学习与理解,以及web攻击涉及的一些方面。现在软件的架构很多都是B/S了,所以web安全也日益重要。web安全涉及的东西很多,我们通过实验知道了一些攻击,有兴趣时花点时间学习以下,这不管对于我们知识掌握还是生活中的应用都有裨益。
HTML知识
HTML是Hyper Text Markup Language(超文本标记语言),可以通过各个标记显示图片、音视频等内容,按照一定的层次排列标记来规划内容显示的位置。
表单
表单从表示上看就相当于一个表格,每一行左边是内容名称,右边是内容信息。从HTML上,表单是标记的一种,作为部件组合在HTML中,是用来传递跟服务器参数的一个标记。
GET和POST方法
都是用来传信息的,最大的区别在于,get用地址栏传递且在地址栏可以看见传的内容,post用放在浏览器头部传过去,在地址栏里不可见。
编写一个含有表单的HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML with form</title>
</head>
<body>
<h2 align="center">登陆界面</h1>
<div align="center">
<form name="form1" method="post" action="">
<table border = "0">
<tr>
<td>用户名:</td>
<td><input type="text" name="username" value="" /></td>
</tr>
<tr>
<td>密    码:</td>
<td><input type="password" name="userpwd" value="" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="提交" /> <input type="reset" value="重填" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>
javascript
是一种能被浏览器解析运行的脚本语言,用来对事件进行反应。
HTML Dom
DOM (Document Object Model) 译为文档对象模型,是 HTML 和 XML 文档的编程接口。
HTML DOM 定义了访问和操作 HTML 文档的标准方法。
DOM 以树结构表达 HTML 文档。
编写JavaScript验证用户名、密码的规则
<script type="text/javascript">
function checkForm(){
if (form1.username.value == ""){ //判断表单用户名值是否为空
alert("请输入用户名");
return false;
}
if (form1.userpwd.value == ""){ //判断表单用户名值是否合法
alert("请输入密码");
return false;
}
return true;
}
</script>
test.php
,直接打开无法运行,于是开启apache服务/var/www/html
目录下,运行尝试注入
<script>alert("hello")</script>
启动mysql
systemctl start mysql
sudo mysql -u root -p
## 默认密码:password
新建数据库create database test;
进入新建数据库use test;
建表create table user(usr char(10),pwd char(10));
插入数据
insert into user values(‘test‘,‘test‘);
insert into user values(‘20181324‘,‘20181324‘);
查看插入结果select * from user;
create user ‘tanj‘@‘localhost‘ identified by ‘20181324‘;
set password for tanj@localhost = password(‘20181324‘);
grant all on test.* to ‘tanj‘@‘localhost‘ identified by ‘20181324‘;
test2.php
str="SELECT * FROM test where username=‘$uname‘ and password=‘$pwd‘;";
$mysqli = new mysqli("127.0.0.1", "tanj", "20181324", "test");
$query_str1="use test;";
/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
echo "connection ok!";
/* Select queries return a resultset */
if ($result = $mysqli->query($query_str1))
echo"<br>Success into database!";
echo$uname;
if ($result = $mysqli->query($query_str)) {
if ($result->num_rows > 0 ){
echo "<br> {$uname}:Welcome!!! <br> ";
}
else {
echo "<br> login failed!!!! <br> " ; }
/* free result set */
$result->close();
}
$mysqli->close();
?>
登陆,以前面新建数据中test用户登陆
在用户名里输入 or 1=1#
在用户名里输入
<script>alert(20181324)</script>
JDK1.7+webgoat-container-7.1-exec.jar
通过cmd下命令java -jar webgoat-container-7.1-exec.jar
通过浏览器访问127.0.0.1:8080/WebGoat
标签:sql基础 访问 功能 result UNC 表格 rest orm art
原文地址:https://www.cnblogs.com/tanjie200/p/14802916.html