从0CTF的一道Web题看LD_PRELOAD在绕过php disable_functions的应用
天临警告 本文存在大量不规范引用或者你可以直接叫做抄袭,转载请勿用于商业用途以免被喷被黑被起诉 0x00写在前面的话 上周参加了个什么0ctf,毫无意外地一道没做出来,想想看自己参加的比赛次数比自己在比赛时做出的题还多,果然我还是那么菜呢嘤嘤嘤。这篇博文会综合几篇技术文章/writeup写成,但是质量上绝对不如任何我引用的文章,看到这里如果不想看了退出本文可以避免5分钟时间的浪费。 0x01题面 题目的地址为 http://111.186.63.208:31340/ 源码如下 <?php $dir = "/ tmp /" . md5 ( " $_SERVER [REMOTE_ADDR] " ); mkdir ( $dir ); ini_set ( ' open_basedir ' , ' /var/www/html: ' . $dir ); ? > <!DOCTYPE html>< html >< head >< style > .pre { word-break : break-all ; max-width : 500 px ; white-space : pre-wrap ;} </ style ></ head >< body > < pre class = " pre " >< code >Imagick is a awesome library for hackers to break `disable_functions`. So I installed php-imagick in the server, opened a `backdoor` for you. Let's try to execute `/readflag` to get the flag. Open basedir: <?php echo ini_get ( ' open_basedir ' ); ? >