从自己网页引发的安全问题思考

之前写的简单版闯关网页,如果按照设计者思路引导目标按步骤进行,是可以正常实现基本功能,而从安全角度看,网页存在大量风险,引发我的思考。

1、我构建的请求模式是GET,而GET查询结果会体现在url上,如果使用POST会相对安全。

2、我写的网页没有设计数据库查询,跳转的条件我放在php文件中,如果不验证来源,修改一下文件名或者路径名其实就能无视之前的查询条件进行页面的跳转。

3、我在《sql攻击注入与防御》学习的过程中,第一章的1.4也提到,很多时候编程人员在构思的时候往往过于想的天真,认为用户会按照引导来输入或者操作,因此对于查询的内容或者操作可能只出现在前几个页面,那么只要知道下一个跳转页面,就可以绕过验证,或者发现新的注入点。

4、我注意到,往网站主页(80)端口查询了我放在8085端口的文件如xxx.php,它会提示文件可以下载,那么在我们说的xss里面就利用这种思路,一步一步引导人点击某些能下载的按钮,或者诱使目标输入查询条件,点击连接等,既可以把恶意脚本,文件或者代码改成用户容易上当的名字诱使目标下载,也可以隐藏以来在不知情的情况下触发下载。

5、那么对于查询,我只是限制了输入的数据长度,对于数据类型我是没有限制的,还有就是我对于可输入次数是没有限制的,因为本来就是用来互动。所以,一般编写程序也好网站也好,对于要输入的内容,我们应该要进行一些过滤或者限制,还有输入次数也要限制。因为什么都不做的话,攻击者可以尝试暴力破解,尝试一些诸如构造payload来达到绕过的手法等。

6、对于错误,我注意到当php文件存在诸如语法上的问题,结构或者数据的问题时,我的网站由于可以解析php文件,会给出错误提示,提示中包括了存放文件的一些敏感信息,比如绝对路径。这存在风险,因此对于错误页的处理,应该要更加合理。

二、后期方向

1、后期应该增加一些登陆界面,也会加入数据库的查询

2、使用cookie和session

3、对于一些存在的网络机器人,增加验证部分

4、增加功能点,对于上传和下载要有严格的筛选,过滤,用黑白名单的方式

5、其他


把原本的系统恢复之后,按道理首页的文件全部被删除,但是我用本机输入以前的地址还能看到以前的index文件,说明这是本地dns缓存没有刷新

pikacu测试bp

因为经常需要用到burp,所以设置一下代理,多用一下火狐,火狐因为是开源的,插件最多了。

那先用爆破来试试看bp能不能正确使用,火狐设置好代理,bp也配置成功之后,开始抓包。

由于之前用的bp我可能没配置好,我重新到官网下了。注意到重新安装不要忘记安装ca证书。下载好证书之后,应该在火狐设置里搜索证书,然后在证书颁发机构导入刚才下载好的证书。

很尴尬,没有FTP,传不上图,不知道为什么我配置本地和bp还是抓不了本地包,导入证书之后啥都能抓了就抓不到本地???

还是用bp21版本自带的浏览器,解决问题。

拿第一题来说,抓到包后,右键把包发送给intruder之后,用字典模式,首先在intruder里清除变量,再重新把username,passwd设置成变量,再跑字典,字典可以自己写,也可以找别的。然后观察响应速度,如果有明显和别人不同的,那可能就是爆破出来的密码了。

捏🐎,传不上图,因为更新或者啥的都有的问题是ftp配置的问题我猜。首先wordpress要更新需要ftp,之前没搞好,先按照网上说的在配置文件加东西。加好之后发现还有权限的问题,看了好多方法我要不是找不到他们说的那些路径,要么就是方法太蠢,直接给权限777这不挨搞谁挨搞。

捏麻我按照文档下vsftpd,按照配置一步一步来,就是踏马启动不了,给我报错,我就找文章我改,我改配置,什么ipv6的listen要改为no啊,注释掉什么什么啊都搞了,就是不给我启动,今日份不服气,不浪费时间了,改日再搞!

原本今天想搞sql的,先不搞,博客传不上东西这么丑,我不服气!


emmmmm用宝塔就没有这些问题了,不过自己搭建遇到问题并且解决问题的意义还是有的

搭一下pikachu

先在百度下载phpstudy

然后github下载pikachu

把pikachu解压到phpstudy的www目录下,然后找到配置文件进行一波配置。在‘这里改成root’,然后重启apache,php 因为本机我自己装有mysql,所以3306被占用,因此应该修改phpstudy的端口为3308.


不过好像直接关掉3306端口进程也可以。在inc目录文件修改的数据库帐号,密码,数据库名应该和phpstudy数据库配置保持一样。

给江江的啵啵啵啵啵

给江江江江的啵啵啵啵啵

我跟江江说,你就是我学习的动力。

自从半年前开始正式自学web,我看了《html5&css3》、《headfirs php&mysql》、《Javascript》、《图解http》、目前在读《代码审计》。本来枯燥的知识学习让我觉得自己像是机器,人呐只有自己的努力变成成果才会有动力继续学习。今年实训的时候殊诚众服开设的课程中,每个小组组员的分工环节让我意识到,其实并不是大家都在自学课外知识,网站的搭建,软件的设计等等,这些学校不曾开设的,却又是cs相关的知识,只有靠自己去开拓。

我觉得信安真的基本把cs课程都学了一轮(自学霍),要搞安全我们得晓得漏洞出现的原理,所以类似web安全我们就必须掌握基本的前端知识。那么这段时间秋招的准备,变成占笔试成绩面试成绩大头,我有时候发现自己蠢到算法能搞懂,但是最基本的输入输出却不会写!哈哈没错说的就是那些笔试。

回到正题,那天江江心情不好,她的坏舍友们都在搞她心态,我编了一个最简单的静态网页弹窗代码,她说好浪漫,我很开心。于是我从心底认为,我有动力学习了,为了江江,为了我自己。

于是,boboboboplus就这么诞生(boboboboplus是我要送给江江的生日礼物!)

虽然网上有很多模板,但是我不愿意用别人的思路,我想用最简单的语句表达我对江江的祝贺,所以我是很用心在准备。

当我开始新建文件夹的时候,思路涌上我的大脑。我在想给江江什么好呢,哎!我之前打了一个星期ctf,沉迷解题不要不要的,所以这个礼物将会是一个解密小闯关!但题目不能按照ctf难度出,我决定出编码题(其实就是江江生日的二进制表示哈哈哈)、还有隐写(把密码放在图片底下应该也算),我觉得以江江的才智这点小题目就是一块小蛋糕。

今天,2021.11.21晚,boboboboplus算是完成了最基本的内容。它很简陋,只有表单,php,莫得css(没学会)。来讲讲这段时间的体会:

这个博客使用wordpress搭建的,放在了我的云服务器上。可以说这篇文章,这个博客,这个服务器都是江江赋予了它们价值和意义。我买了四年的云服务器,一直闲置,我相信它会一直发挥它的作用,至少四年里,我的博客都会在。

想到送礼物的那天,很快我就在ppt规划好大纲和整体布局,然后借鉴通用的代码,完成了静态的页面,这个周末我完成了php部分,也就是验证数据还有实现跳转。我翻阅我的pdf,从头根据我的需要求把要用的标签拿了出来,写了进去,然后就是debug,也最波折。

html静态还好,没什么太大问题,我倒是被php不知道怎么运行困扰了一会,然后其实是没有运行环境啦,我以为php会跟html、css一样记事本写出来浏览器打开就能了,摊手。php是基于服务器的语言,所以要搭建好环境的服务器才能解析代码。

那么,phpstudy可以启动apache,mysql,php环境也是有的,所以把我写好的文件放在www(主目录)下打开就能执行。

经过两天的调试,今晚终于完成了判断和跳转,只能说,代码特别简单,以后有机会除了css还有结构我也要继续完善。不填明白的就是,我用POST没有用的时候换GET就有了效果,我才可能还是我写的代码出现问题,总的来说删掉好多代码反而完成了我的期往。

那本地调试好了代码,剩下的就是放到服务器上,让江江点击网址就可以访问了。ftp没搞好让我一直对服务器不太信任可靠,我在csdn或者b站疯狂找“如何在linux下搭建php环境”或者“nginx如何配置php环境”等资料,当我查看服务器有没有php配置的时候,是扫出来的,于是我把index.html插了一段php不行,但是打开能用的php文件可以正常解析,那么问题解决,我把文件拖进目录就可以啦!哈哈


你看到这篇文章的时候它已经经历了太多,现在,它在这里获得新生!