第二次作业

一、Mysql UTF-8编码

搭建环境

创建一个.php文件

<?php

$mysqli = new mysqli("localhost", "root", "123456", "security");

/* check connection */

if ($mysqli->connect_errno) {

printf("Connect failed: %s\n", $mysqli->connect_error);

exit();

}

$mysqli->query("set names utf8");

username = addslashes(_GET['username']);

if ($username === 'admin') {

die('Permission denied!');

}

/* Select queries return a resultset */

sql = "SELECT \* FROM \`table1\` WHERE username='{username}'";

if (result = mysqli->query( $sql )) {

printf("Select returned %d rows.\n", $result->num_rows);

while (row = result->fetch_array(MYSQLI_ASSOC))

{

var_dump($row);

}

/* free result set */

$result->close();

} else {

var_dump($mysqli->error);

}

$mysqli->close();

在数据库中创建一张表

表中插入数据

这样环境就搭好了, 然后访问网页

当username=admin时就会被拒绝,但是当username≠admin时,又查询不了数据库

所以要想查询到数据库,就必须让username=admin,但是username=admin又会被拒绝,所以我们需要传递一个admin并带有字符的,让程序认为他不是admin,但是又可以让MySQL把那个字符放弃删除。

经过尝试发现%c2可以绕过,但是为什么呢?

这是因为%c2是一个特殊字符,MySQL在转换字符集的过程为,utf-8---->utf-8--->latin 1,但是在这个案例中实际上是utf-8---->utf-8--->utf-8,而latin 1只支持英文,因此在转换的过程中就抛出了错误,导致查出了username=admin的结果。

二、无字母数字webshell

首先在Ubuntu下的/usr/local/nginx/html中,创建一个web.php

访问网页

然后下一个上传文件的html文件

最后随便创建一个txt文件,编写内容

现在,使用burp suite进行抓包

发送到repeater下边

然后将红框内的数据放到web.php下

这里改为POST

然后就可以写get传参

但是 由于这里是get传参,要遵循url编码,所以要将空格,问号, @,分号进行转换

提交

在Linux下的/tmp中可以看到生成了一个临时文件

为进一步验证,可以在web.php下添加sleep,然后再次提交

然后再去查看这个临时文件是否存在

相关推荐
2601_949809594 分钟前
flutter_for_openharmony家庭相册app实战+照片详情实现
android·java·flutter
fundroid8 分钟前
Kotlin 泛型进阶:in、out 与 reified 实战
android·开发语言·kotlin
Android系统攻城狮10 分钟前
Android tinyalsa深度解析之pcm_open调用流程与实战(一百零三)
android·pcm·tinyalsa·音频进阶·音频性能实战·android hal
2501_9444480015 分钟前
Flutter for OpenHarmony衣橱管家App实战:意见反馈功能实现
android·javascript·flutter
风流倜傥唐伯虎19 分钟前
./gradlew assembleDebug和gradle build区别
android·android studio
有位神秘人19 分钟前
Android中获取当前设备的宽高与屏幕密度等数据的工具类
android
那年我七岁19 分钟前
android ndk c++ 绘制图片方式
android·c++·python
Java后端的Ai之路20 分钟前
【Python教程10】-开箱即用
android·开发语言·python
2601_9498095927 分钟前
flutter_for_openharmony家庭相册app实战+隐私设置实现
android·javascript·flutter
我命由我1234529 分钟前
Android 开发 Room 数据库升级问题:A migration from 6 to 7 was required but not found.
android·java·java-ee·android studio·android jetpack·android-studio·android runtime