DVWA-Writeup

待补完。。。


SQL Injection

目标:获取5个用户的用户名和密码
=====
【Low】

思路:1正常,1'报错,根据错误提示发现服务器未过滤单引号,构造1' union select '1,提示列数不等,继续构造1' union select '1','2发现返回正常,若仍不对则继续构造'3','4'...直至正确返回。由于此题返回所有结果,故直接union select 1,table_name from information_schema.tables#即可爆出所有表名,找到用户有关的users表,union select 1,column_name from information_schema.columns where table_name='users'#即可获得所有列名,发现User和Password列。为了屏蔽id=1的结果,所以最后构造的sql为:a' union select User,Password from users#

=====
【Medium】

思路:地址栏不显示结果,发现此为POST方法。使用Fiddler查看报文,获得post内容id=1&Submit=Submit。修改id内容并提交执行,1正常,1'报错,发现'被加反斜杠转义。使用%d5试图吃掉反斜杠,发现无法转义,说明编码方式非GBK。后直接构造1d=6 union select 1,2 --发现可以正常返回,将1,2替换成user和password即可。为了屏蔽id=1的结果,所以最后构造的post内容为:id=a union select User,Password from users --
【在没有Low难度基础的情况下,爆列名无法使用单引号,需使用十六进制转换,users的十六进制转换结果为0x7573657273。即sql为:select column_name from information_schema.columns where table_name=0x7573657273】

=====
【High】

思路:本题为弹出窗口,通过读取新窗口里post的值来返回结果。查看源码,发现sql前半部分同Low难度,多加了一个limit 1,当返回行数超过1时即报错。考虑构造0' union select '1','2#,发现正常返回。 考虑到一次只能返回1行,故使用limit n,1的方式逐行返回,所以最后构造的sql为:0' union select User,Password from users limit n,1#
【在没有Low难度基础的情况下,需先爆表名,构造0' union select table_schema,table_name from information_schema.tables limit n,1#直到获得正确的表名user(或者类user的表名),然后用和Low同样的方法爆列名,构造0' union select '1',column_name from information_schema.columns where table_name='users' limit n,1#爆出全部字段,发现User和Password字段】
<think>嗯,用户的问题是关于在使用unzip命令解压DVWA-master.zip到/var/www/html目录时,如何处理文件替换的提示,想要自动覆盖或者选择性替换现有文件。首先,我需要回忆一下unzip命令的常见选项。 我记得unzip有一个覆盖选项,比如-o参数可以自动覆盖现有文件而不提示。不过,用户可能需要确认这是否安全,特别是如果他们不想覆盖某些修改过的文件。这时候可能需要提到这个选项的风险,比如会覆盖所有同名文件,可能导致配置丢失。 另外,用户可能还希望有选择性地替换文件,比如只替换某些文件或者根据时间戳来决定。这时候可以用-n参数来跳过已存在的文件,或者结合其他命令如rsync来处理更复杂的场景。不过用户的问题主要集中在unzip本身,所以可能需要优先介绍unzip的参数。 然后,考虑到用户解压DVWA时可能遇到路径错误的问题,引用中的[^1]提到需要确保文件在正确的路径下,并且权限设置正确。所以在回答时应该提醒用户检查路径是否正确,解压后的文件是否在/var/www/html下,并且设置好权限,比如用chown和chmod。 还需要注意用户可能是在Linux环境下操作,特别是使用Apache服务器,所以解压后的权限问题也很重要。可能需要建议用户解压后调整文件的所有者和权限,避免后续的访问问题。 用户的问题还提到“自动覆盖或选择性替换”,所以需要分别给出两种情况的解决方案:一种是强制覆盖所有文件,使用-o参数;另一种是选择性保留或替换,可能需要使用-n参数跳过已存在的文件,或者用unzip -Z来列出文件,再手动选择解压部分文件。 此外,用户可能不熟悉这些参数的具体用法,需要给出具体的命令示例,比如: 强制覆盖: unzip -o DVWA-master.zip -d /var/www/html 跳过现有文件: unzip -n DVWA-master.zip -d /var/www/html 还有,如果用户需要更精细的控制,可能需要结合其他工具,比如使用rsync或者在解压前先列出压缩包内容,手动选择要解压的文件。 最后,要确保提醒用户备份原有文件,特别是在使用强制覆盖选项时,避免数据丢失。同时引用提到的权限设置,解压后运行chown和chmod命令,确保Apache可以访问这些文件。 总结一下,回答应该包括: 1. 使用unzip的-o参数强制覆盖 2. 使用-n参数跳过现有文件 3. 提示路径和权限设置的重要性 4. 选择性解压的方法 5. 备份建议</think>### 解决方案 #### 1. **强制覆盖所有文件** 使用 `-o` 参数自动覆盖同名文件,无需交互确认: ```bash unzip -o DVWA-master.zip -d /var/www/html ``` 此操作会直接替换目标目录下的所有同名文件,需谨慎使用[^1]。 #### 2. **选择性覆盖文件** 使用 `-n` 参数跳过已存在的文件(仅解压新文件): ```bash unzip -n DVWA-master.zip -d /var/www/html ``` 若需交互式选择是否覆盖,可使用 `-u` 参数仅更新旧文件: ```bash unzip -u DVWA-master.zip -d /var/www/html ``` #### 3. **结合其他工具精细控制** - **列出压缩包内容**:先检查需解压的文件列表: ```bash unzip -Z1 DVWA-master.zip ``` - **手动选择解压**:通过管道筛选特定文件: ```bash unzip DVWA-master.zip "特定路径/*" -d /var/www/html ``` #### 4. **权限与路径验证** 解压完成后需验证文件权限和路径: ```bash chown -R apache:apache /var/www/html/DVWA-master # 设置Apache用户权限 chmod 755 /var/www/html/DVWA-master # 调整目录权限 ``` ### 注意事项 - **备份数据**:覆盖前建议备份 `/var/www/html` 下的原有文件。 - **路径匹配**:确保压缩包内文件路径与目标路径一致,避免因路径层级错误导致文件分散。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值