iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
佛心分享-刷題不只是刷題

CTF 刷題系列 第 27

CTF Day 27 Web(caas)

  • 分享至 

  • xImage
  •  

題目 caas

https://ithelp.ithome.com.tw/upload/images/20241013/20155574FarZyxxC58.png
https://ithelp.ithome.com.tw/upload/images/20241013/20155574djcr28u2aP.png

message 輸入 123 的話會變成下方那樣,而我不管輸入什麼,都只會改變<>裡的文字
https://ithelp.ithome.com.tw/upload/images/20241013/20155574WPyxqfLPCl.png

index.js

const app = express();
const { exec } = require('child_process');

app.use(express.static('public'));

app.get('/cowsay/:message', (req, res) => {
  exec(`/usr/games/cowsay ${req.params.message}`, {timeout: 5000}, (error, stdout) => {
    if (error) return res.status(500).end();
    res.type('txt').send(stdout).end();
  });
});

app.listen(3000, () => {
  console.log('listening');
});

上方的 code 中,exec 直接執行來自 URL 參數的命令,這可能會導致 command injection
那就來試試看input ls
https://ithelp.ithome.com.tw/upload/images/20241013/20155574NV5LQ5jQNy.png

真的可以執行 command injection
https://ithelp.ithome.com.tw/upload/images/20241013/20155574Afx18797T5.png

預防方法

待補待補待補待補待補待補待補待補待補待補


上一篇
CTF Day 26 Web(Irish-Name-Repo 3)
下一篇
CTF Day 28 Web(Web Gauntlet 3)
系列文
CTF 刷題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言